私はちょっと見た目をよくしたかったので、WPFで再作成しています。私は簡単のListItemの内側に2つの以上のテキストブロックを置くことができます実現したように、私は、各チャットの最後のメッセージを表示したかったので、のように:リストボックスの項目の中のTextBlockのテキストを更新する方法
しかし、私はそれらのテキストブロックを編集する方法については考えています:(私は文学だけでWPFを始めたので、私は、私はちょうど複製を作ったが、そのため、私もこの問題を検索する方法がわからない
ここで賭けカスタムリストボックスです。
<ListBox x:Name="myList" HorizontalAlignment="Left" Width="264" ScrollViewer.VerticalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Disabled" BorderThickness="0,1,1,0" MouseLeftButtonUp="myList_MouseLeftButtonUp" Margin="0,25,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="LightGray" BorderThickness="0,0,0,1" Width="250">
<DockPanel Margin="0,7">
<Ellipse Name="ellipse" Margin="5" DockPanel.Dock="Left" Style="{DynamicResource elstyle}">
</Ellipse>
<TextBlock Text="{Binding Name}" DockPanel.Dock="Top" Margin="0,0,0,7" FontWeight="Bold" MaxWidth="250"></TextBlock>
<TextBlock Text="{Binding ID}" DockPanel.Dock="Top" Visibility="Hidden" FontSize="1.333"></TextBlock>
<TextBlock x:Name="last_message" Text="{Binding LastMessage}" DockPanel.Dock="Bottom" MaxWidth="250"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
_これらのTextBlocksに対処する方法_?あなたの 'TextBlocks'は上手く見えます。あなたのアイテムビューモデルはどのように見えますか?それは**公開** '名前'、 'ID'と' LastMessage' **プロパティ**を持っていますか? – dkozl
申し訳ありませんが、私はそれらを編集する方法を意味しました。私は最後のメッセージをクライアントが受け取るたびに挿入したいと思います。たとえば、次のようなものです: 'ListBox.Items [0] .last_message.text ="こんにちは、これはザルマです "; – Caddaile
あなたは編集しません。あなたのビューモデルでバウンド 'LastMessage'プロパティを変更し、それが[' INotifyPropertyChanged.PropertyChanged'](https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.propertychanged(v = vs .110).aspx)イベントはUIによって取得され、 'TextBlock'は更新されます。ビューモデルクラスはどのように見えますか? – dkozl