0

我们如何将枚举绑定到 a 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为“聆听”或“睡眠”,我如何通过TextBlock?

4

1 回答 1

1

它没有获取绑定的原因是因为您无法绑定到fields. 您至少需要一个auto-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 回答