当我手动创建组合框时,没问题,但由于设置for($i=1;$i<13;$i++)
{
$orderproductmasters[$i] = $this->Orderproductmaster->find('count',
array('conditions'=>array('Ordermaster.orderstatusmaster_id'=>1,
'Month(Orderproductmaster.created)'=>$i)));
}
现在自动填充组合框,我不知道如何设置每个ItemsSource
的属性。目前,我需要为每个项目设置ComboBoxItem
操作(一个全局值)和Selected
(每个项目的值不同)。
目前我只定义组合框项目的外观:
Tag
如何设置我提到的属性? 注意:这些属性属于<ComboBox ItemsSource="{Binding Path=Modules}"
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Height="16" Width="16" Source="{Binding ObjectData.ImageSource}" />
<Label Content="{Binding ObjectData.Label}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
。
ComboBoxItem
是我的窗口类的属性:
Modules
答案 0 :(得分:1)
您可以在ComboBox的ItemContainerStyle
中设置ComboBoxItem属性:
<ComboBox ...>
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Tag" Value="{Binding TagValue}"/>
<Setter Property="IsSelected" Value="{Binding Selected}"/>
</Style>
</ComboBox.ItemContainerStyle>
<ComboBox.ItemTemplate>
<DataTemplate>
...
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
当&#34;全球&#34; Selected
属性不在项目视图模型中,您将明确设置绑定源,例如RelativeSource/FindAncestor
。