XAML将组合框绑定到类型为Keyboard.Keys的枚举

时间:2018-07-12 11:26:14

标签: vb.net xaml enums binding

我正在寻找一种方法来将组合框的itemsource设置为system keyboard key枚举的枚举。搜索几个小时并找到解决方案(见下文),但是当我设置selecteditem(下面的示例代码)时,此方法不起作用。我想直接进行绑定,例如:{Binding Source={x:Static Fonts.SystemFontFamilies}},然后再进行键盘键枚举。

<UserControl.Resources>
    <ObjectDataProvider
        x:Key="KeyCodes"
        MethodName="GetNames"
        ObjectType="{x:Type Key}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="Key" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</UserControl.Resources>

<ComboBox
    Width="200"
    HorizontalAlignment="Center"
    ItemsSource="{Binding Source={StaticResource KeyCodes}}"
    SelectedIndex="0"
    SelectedItem="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext}" />

后面的代码:

Me.DataContext = Key.A 

0 个答案:

没有答案