0
改變Button.Content我想用一個DataTrigger更改按鈕的內容在XAML。有條件我需要改變按鈕的文字。但是,如果Button最初有文本,則文本不會更改。使其工作的唯一方法是或者不設置Content
,或將其設置爲觸發器。不能在XAML
所以,如果我有
<Button Content="Some text" />
觸發不會改變按鈕上的文字。
如果我有
<Button />
或
<Button>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Content" Value="Some text" />
</Style>
</Button.Style>
</Button>
觸發作品。
爲什麼?
所以,我就應該總是設定一個觸發的初始文本,如果我想要在以後改變它,或者是有其他(更好)的方式來改變按鈕上的文字後,我與當地的值設置呢? –
在觸發器中更改文本通常有點奇怪,但如果您必須這樣做,那麼我想爲它創建可重用的樣式。然後在樣式設置器中設置默認文本,並使樣式包含修改文本的觸發器。這清楚地說明了正在發生的事情。 –
我設置按鈕文本取決於對象的狀態,在對話框中編輯,如果對象沒有掛起,按鈕寫入「掛起」,如果掛起 - 寫入「繼續」 - 我使用帶觸發器的樣式XAML,因爲我相信這是View的責任來設置按鈕的文本。 –