[英]How to manually bind static Items to SplitButton (mahapps) via XAML
How do i manually add for example 2 items (buttons) from which the first is preselected via xaml? 如何手动添加例如通过xaml从中预选第一个的2个项目(按钮)? Like:
喜欢:
<controls:SplitButton SelectedIndex="0">
<controls:SplitButton.Items>
<Button Content="Button 1"/>
<Button Content="Button 2"/>
</controls:SplitButton.Items>
</controls:SplitButton>
Documentation tells me to use ItemsSource Binding but there is no example of the code behind. 文档告诉我使用ItemsSource Binding,但是后面没有代码示例。
This is the XAML: 这是XAML:
<controls:SplitButton x:Name="splitButton"
SelectedIndex="1"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Grid.Column="1">
<controls:SplitButton.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock HorizontalAlignment="Left"
TextWrapping="Wrap"
Text="{Binding Text}"
VerticalAlignment="Top"/>
</Grid>
</DataTemplate>
</controls:SplitButton.ItemTemplate>
</controls:SplitButton>
This is the code behind: 这是背后的代码:
class SplitButtonItem
{
public string Text { get; set; }
}
public MainWindow()
{
InitializeComponent();
var button1 = new SplitButtonItem() { Text = "Item 01", };
var button2 = new SplitButtonItem() { Text = "Item 02", };
var buttonList = new List<SplitButtonItem>()
{
button1,
button2,
};
splitButton.ItemsSource = buttonList;
}
This is how it look at runtime: 这是运行时的样子:
Is this what you're looking for? 这是您要找的东西吗?
You can use the ItemsSource
and an enumerable and don't specify a DisplayMemberPath
. 您可以使用
ItemsSource
和可枚举的对象,并且不指定DisplayMemberPath
。
<controls:SplitButton HorizontalContentAlignment="Left"
HorizontalAlignment="Center"
VerticalContentAlignment="Center"
Width="120"
VerticalAlignment="Top">
<controls:SplitButton.ItemsSource>
<x:Array Type="system:String">
<system:String>Label 1</system:String>
<system:String>Another one</system:String>
<system:String>Works now</system:String>
</x:Array>
</controls:SplitButton.ItemsSource>
</controls:SplitButton>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.