在 WPF 中,我试图将单选按钮绑定到 ViewModel 中的属性,例如这个 SO 答案https://stackoverflow.com/a/2285732
一切正常,除了按钮是垂直堆叠的。现在,这似乎很容易解决,只需修改 ItemsPanelTemplate。
这是我的代码:
<ListBox ItemsSource="{Binding ItemOptions}" SelectedItem="{Binding SelectedOption}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}" >
<RadioButton Content="{TemplateBinding Content}"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsSelected}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
但是,这些项目保持垂直堆叠。任何想法为什么这对 ListBox 的方向没有影响?