クリックイベントがuwpで発生した場合、gridviewデータテンプレート内のImageコントロールのソースを変更する必要があります。車画像をクリックすると、この画像を修正してブランドロゴを表示する必要があります。私は、そのコードを成功:その投稿のc# - gridviewで画像コントロールを検索および変更しましたselecteditem
<controls:AdaptiveGridView x:Name="AdaptiveGridViewControl"
animations:ReorderGridAnimation.Duration="350"
Margin="0,12,0,0"
ItemHeight="200"
DesiredWidth="200"
SelectionMode="Single"
IsItemClickEnabled="True"
ItemClick="GridView_ItemClick"
>
<controls:AdaptiveGridView.ItemTemplate>
<DataTemplate x:DataType="data:MyData">
<StackPanel Orientation="Horizontal">
<controls:ImageEx x:Name="ImageExControl"
MaxHeight="200"
IsCacheEnabled="True"
Source="{x:Bind carsPictures}"
Stretch="Fill"
PlaceholderSource="/Assets/placeholder_cover.jpg"
PlaceholderStretch="Uniform"/>
</StackPanel>
</DataTemplate>
</controls:AdaptiveGridView.ItemTemplate>
</controls:AdaptiveGridView>
ありがとう:How to access a Control inside the data template in C# Metro UI in the code behind、 を私はFindChildControl指定(DependencyObjectの制御、文字列CTRLNAME)メソッドを使用することができます。背後にあるコードでは
:
private void GridView_ItemClick(object sender, ItemClickEventArgs e)
{
var newData = (MyData)e.ClickedItem;
ImageEx ex = FindChildControl<ImageEx>(this, "ImageExControl") as ImageEx;
ex.Source = newData.brandLogo;
}
問題は、このGridViewのは、30台の映像が含まれており、クリックイベントが発生したときにのみ、最初のImageコントロールが変更されています。私は、クリックされたImageコントロールを変更するためにAdaptiveGridView.SelectedItemを使用する方法を知らない。
おかげさまで完璧! – keledrame