我正在進行8.1通用轉換爲UWP的過程。我在代碼隱藏中有一些代碼,它可以從視圖模型數據中以編程方式在堆棧面板中創建潛在的數百個節點。我正在嘗試向這些節點中的一些添加一些視覺響應規則。以編程方式在代碼背後添加視覺狀態設置器
我使用的模式基本上是:
foreach (var item in ViewModel.items)
{
var fooStackPanel = CreateItemRowStackPanel();
fooStackPanel.Children.Add(CreateItemImage(item.ProductUrl));
fooStackPanel.Children.Add(CreateItemNameTextBlock(item.Name));
// ...
LayoutGrid.Children.Add(fooStackPanel);
}
某處在那裏,我想一個負責任的規則添加到特定節點。
以下是我希望在XAML中看到的方式,但我需要在後面的代碼中執行這些設置。我該怎麼做?
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="WindowStates">
<VisualState x:Name="NarrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<!-- How do I add these programmatically in the code behind? -->
<Setter Target="Item1Image.Visibility"
Value="Collapsed" />
<Setter Target="Item2Image.Visibility"
Value="Collapsed" />
<!-- ... -->
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
好的。你的問題是什麼? –
如何在後面的代碼中以編程方式添加這些代碼? – Noppadet
使用帶有DataTemplate的ListView並綁定圖像的可見性不是很容易嗎? – Bart