我試圖建立一個使用WPF的賓果遊戲模擬器來了解更多關於WPF的知識,而且我無法弄清楚如何以編程方式更改<ItemsControl>
模板。以編程方式訪問UniformGrid ItemTemplate
我只使用VS 2010的默認WPF應用程序,所以我有一個MainWindow.xaml,App.xaml和MainWindow.xaml.cs。
我想訪問<ItemTemplate>
的原因是,如果賓果號碼出現在選定的位置,則更改綁定的模板。
我試過this possible solution在我的代碼背後的文件,但我不認爲這在這種情況下工作。
這裏是我有我的主窗口和應用程序XAML文件設置
MainWindow.xaml
<ItemsControl Name="icBColumn" ItemsSource="{Binding CardBNumbers}"
Grid.Column="0" Grid.Row="2"
ItemTemplate="{StaticResource BingoSquare}"
ItemsPanel="{StaticResource BingoColumn}">
的App.xaml
<DataTemplate x:Key="BingoSquare">
<Border Background="{DynamicResource UnmarkedSquare}">
<Label Content="{Binding}" />
</Border>
</DataTemplate>
<RadialGradientBrush x:Key="UnmarkedSquare" GradientOrigin="0.5,0.5"
Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<RadialGradientBrush.GradientStops>
<GradientStop Color="LimeGreen" Offset="1" />
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
<ItemsPanelTemplate x:Key="BingoColumn">
<UniformGrid Name="NumbersGrid" Columns="1" Rows="5"/>
</ItemsPanelTemplate>
謝謝,我還沒有看過。我會檢查出來並回復給你。 – Zack
我很早就想知道如果你在編輯中添加的東西是可能的!我只是不知道如何。目前Cardmine是一個列表。所以我在想,就像你說的那樣,創建一個代表賓果空間的新類,使用string number屬性和bool checked屬性! –
Zack
是的exaqctly。實現INotifyPropertyChanged接口,並且一旦更新了布爾值,您可以使用xaml樣式數據觸發器捕獲此事件。如果你希望我能更具體一些,我可以,但我會在星期一。銅! – iltzortz