填充 RibbonComboBox
Populating RibbonComboBox
我正在学习 WPF,并且花了 waaaay 太多时间来尝试解决这个简单的任务。
我的目标是向功能区控件添加两个 RibbonComboBox
es。一个用于 类别 ,另一个用于 子类别 。每当用户更改 Category 时,我希望更新 Subcategories 组合框以显示当前类别的子类别。
XAML:
<RibbonTab Header="Home">
<RibbonGroup Header="Category">
<RibbonComboBox Label="Category:" HorizontalContentAlignment="Left" SelectionBoxWidth="250" Focusable="False">
<RibbonGallery Name="galCategory" DisplayMemberPath="Text" SelectedValuePath="Value">
</RibbonGallery>
</RibbonComboBox>
<RibbonComboBox Label="Subcategory:" HorizontalContentAlignment="Left" SelectionBoxWidth="250">
<RibbonGallery Name="galSubcategory" DisplayMemberPath="Text" SelectedValuePath="Value">
</RibbonGallery>
</RibbonComboBox>
</RibbonGroup>
</RibbonTab>
我发现只有添加 RibbonGallery
元素,我才能访问允许我填充组合框的方法。但是,虽然我的数据显示在列表中,但用户无法选择这些项目。 (单击列表中的项目没有任何效果。)
谁能告诉我如何填充这些控件?
注意:如果有人能告诉我如何使两个组合框彼此对齐,而不管标签中文本的长度如何,都会加分!
在 RibbonGallery
内添加一个 RibbonGalleryCategory
控件,然后填充它。添加选择更改事件侦听器 RibbonGallery
:
XAML:
<RibbonComboBox Label="Category:" Name="rcmbCategory" SelectionBoxWidth="100" Height="20" HorizontalContentAlignment="Center">
<RibbonGallery Name="galCategory" DisplayMemberPath="Text" SelectedValuePath="Value" SelectionChanged="RibbonGallery_SelectionChanged">
<RibbonGalleryCategory Name="rgcCategory"/>
</RibbonGallery>
</RibbonComboBox>
.CS:
public MainWindow()
{
InitializeComponent();
for(int i=0;i<=10;i++)
rgcCategory.Items.Add(i);
}
private void RibbonGallery_SelectionChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
MessageBox.Show(rcmbCategory.SelectionBoxItem.ToString());
}
有关详细信息,请参阅 CodeProject: RibbonComboBox。
我正在学习 WPF,并且花了 waaaay 太多时间来尝试解决这个简单的任务。
我的目标是向功能区控件添加两个 RibbonComboBox
es。一个用于 类别 ,另一个用于 子类别 。每当用户更改 Category 时,我希望更新 Subcategories 组合框以显示当前类别的子类别。
XAML:
<RibbonTab Header="Home">
<RibbonGroup Header="Category">
<RibbonComboBox Label="Category:" HorizontalContentAlignment="Left" SelectionBoxWidth="250" Focusable="False">
<RibbonGallery Name="galCategory" DisplayMemberPath="Text" SelectedValuePath="Value">
</RibbonGallery>
</RibbonComboBox>
<RibbonComboBox Label="Subcategory:" HorizontalContentAlignment="Left" SelectionBoxWidth="250">
<RibbonGallery Name="galSubcategory" DisplayMemberPath="Text" SelectedValuePath="Value">
</RibbonGallery>
</RibbonComboBox>
</RibbonGroup>
</RibbonTab>
我发现只有添加 RibbonGallery
元素,我才能访问允许我填充组合框的方法。但是,虽然我的数据显示在列表中,但用户无法选择这些项目。 (单击列表中的项目没有任何效果。)
谁能告诉我如何填充这些控件?
注意:如果有人能告诉我如何使两个组合框彼此对齐,而不管标签中文本的长度如何,都会加分!
在 RibbonGallery
内添加一个 RibbonGalleryCategory
控件,然后填充它。添加选择更改事件侦听器 RibbonGallery
:
XAML:
<RibbonComboBox Label="Category:" Name="rcmbCategory" SelectionBoxWidth="100" Height="20" HorizontalContentAlignment="Center">
<RibbonGallery Name="galCategory" DisplayMemberPath="Text" SelectedValuePath="Value" SelectionChanged="RibbonGallery_SelectionChanged">
<RibbonGalleryCategory Name="rgcCategory"/>
</RibbonGallery>
</RibbonComboBox>
.CS:
public MainWindow()
{
InitializeComponent();
for(int i=0;i<=10;i++)
rgcCategory.Items.Add(i);
}
private void RibbonGallery_SelectionChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
MessageBox.Show(rcmbCategory.SelectionBoxItem.ToString());
}
有关详细信息,请参阅 CodeProject: RibbonComboBox。