Windowsの電話アプリケーションでMVVM(ライトツールキット)を使用します。 私はリストボックスを持っています。SelectedItem
は、SelectedArticleプロパティにバインドされています。ここで(非常にシンプルな)プロパティ以下 :ListBox(MVVM)でアイテムとアイテムが選択されているロジックを実装する良い方法
private Article _selectedArticle;
public Article SelectedArticle
{
get { return _selectedArticle; }
set
{
_selectedArticle = value;
base.RaisePropertyChanged("SelectedArticle");
}
}
だから私は希望するビューを変更することで、リストボックスの要素がチェックされます。 とにかく、settetにビューの変更を入れるのは簡単ですが、私はそれを避けたいと思います。だからそれをどうやる?ここでは、XAML
:<ListBox IsEnabled="{Binding ListBoxEnabled, Mode=TwoWay}" SelectedItem="{Binding SelectedArticle, Mode=TwoWay}" Opacity="{Binding Opacity, Mode=TwoWay}" ItemsSource="{Binding ArticlesList}" Height="634" Width="456">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image
Margin="0,15"
VerticalAlignment="Top"
Source="{Binding Image}"
Height="100"
Width="100" />
<StackPanel>
<TextBlock Margin="10,15"
Width="250"
TextWrapping="Wrap"
VerticalAlignment="Top"
HorizontalAlignment="Left"
FontSize="24"
Text="{Binding Content}" />
<TextBlock Margin="20,0"
Width="100"
VerticalAlignment="Top"
HorizontalAlignment="Left"
FontSize="20"
Text="{Binding Id}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>