16

WPFのラジオボタンに列挙型をバインドしようとしています(この回答に触発されました)が、コンバーターパラメーターの列挙型を見つけるのに問題があります:

列挙型は次のように定義されます

namespace Application.Models
{
    public class Enums
    {
        public enum MySelections { one, two ,three };

        public MySelections CurrentSelection;

        ...

    }
}

私は今、このようなチェックボックスをバインドしようとしています(データコンテキストは正しいと想定され、値コンバーターが実装されています:)

<Window x:Class="Application.MainWindow"
        ....
        xnlns:models="clr-namespace:Application.Models" >

...
<RadioButton Content="One"
             IsChecked="{Binding Path=CurrentSelection, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static models:Enums.MySelections.one}}" />
...

問題は、タイプが見つからなかっ{x:Static models:Enums.MySelections.one}たというエラーを常にスローすることにあります。models:Enums.MySelections

列挙型を見つけるにはどうすればよいですか?

4

2 に答える 2

48

「。」の代わりに「+」を使用します。XAMLでネストされた型を取得するには:

{x:Static models:Enums+MySelections.one}
于 2011-04-15T12:37:03.870 に答える
17

クラスの外で宣言できます。

namespace Application.Models
{
    public enum MySelections { one, two, three };

    public  class Enums
    {
        public MySelections CurrentSelection;

そして、このxamlは機能します:

.... ConverterParameter={x:Static models:MySelections.one}

マークアップのx:Static構文は固定されています。

{x:静的プレフィックス:typeName.staticMemberName}

于 2011-04-15T12:30:02.933 に答える