私は WinRT を初めて使用するので、これがばかげた質問である場合は申し訳ありません。次の ListView を作成しました。
<ListView x:Name="MyListView1"
Grid.Row="1"
Margin="120,300,0,0"
Width="500"
HorizontalAlignment="Left">
<ListViewItem Background="DodgerBlue">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="300" />
</Grid.ColumnDefinitions>
<TextBlock Text="hardcoded value 1" Grid.Column="0"></TextBlock>
<TextBlock Text="hardcoded value 2" Grid.Column="1"></TextBlock>
</Grid>
</ListViewItem>
</ListView>
これは私が望む外観であり、項目をクリックすると行全体が選択されます。ただし、これを DataTemplate に移動すると、同じようには見えず、行全体をクリックできなくなります。(ターゲット タイプ ListViewItem で ItemContainerStyle を追加し、背景を黄色に設定すると、塗りつぶされてハードコードされた ListItem と同じサイズになりますが、黄色のアウトラインをクリックして選択することしかできません。) これがコードです。 :
<ListView x:Name="MyListView2"
ItemTemplate="{StaticResource MyTemplate}"
ItemsSource="{Binding MyData}"
Grid.Row="1"
Margin="120,0,0,0"
Width="500"
HorizontalAlignment="Left">
</ListView>
そして StandardStyles.xaml では:
<DataTemplate x:Key="MyTemplate">
<ListViewItem Background="DodgerBlue">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="300" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding MyDataOne}" Grid.Column="0"></TextBlock>
<TextBlock Text="{Binding MyDataTwo}" Grid.Column="1"></TextBlock>
</Grid>
</ListViewItem>
</DataTemplate>
それらが同じように見えない/機能しない理由がわかりません-バインドするときにまったく同じコードが入力されるべきではありませんか? それを機能させるために何をする必要がありますか?