0

列挙型を にバインドするにはどうすればよいTextBlockですか?

コードビハインドでは、次のものがあります。

public enum SpeechStateEnumeration
{
    Listening,
    Recording,
    Dictating,
    Working,
    Sleeping,
    Unresponsive
}

public static SpeechStateEnumeration SpeechState;

button1_Click(object sender, EventArgs e)
{
    SpeechState = SpeechStateEnumeration.Sleeping;
}

そして私のXAMLは次のとおりです。

<TextBlock x:Name="Status" Text="{Binding SpeechState}" />

しかし、うまくいきません。SpeechStateたとえば、「Listening」または「Sleeping」に設定した場合、どのようにユーザーにそれを伝えることができTextBlockますか?

4

1 に答える 1

1

バインディングを取得しない理由は、にバインドできないためですfieldsauto-property実際にバインドするには、少なくとも が必要です。

以下は私にとってはうまくいきます:

コードビハインド:

public SpeechStateEnumeration SpeechState { get; set; }

public Window1()
{
    InitializeComponent();
    SpeechState = SpeechStateEnumeration.Listening;
    DataContext = this;
}

XAML:

<TextBlock Text="{Binding SpeechState}" />
于 2013-06-04T17:07:16.357 に答える