我有一個按鈕,它的內容(文本)通過下面的支持屬性的樣式動態設置。如何通過XAML設置WPF超鏈接文本
<Button>
<Button.Style>
<Style>
<Setter Property="Button.Content" Value="Advanced Search" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsAdvancedSearch}" Value="True">
<Setter Property="Button.Content" Value="Standard Search" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
我需要改變這個按鈕來顯示只有一個超鏈接和相同的動態文本。就像這樣:
<Button>
<Button.Template>
<ControlTemplate>
<TextBlock>
<Hyperlink>
Standard Search
</Hyperlink>
</TextBlock>
</ControlTemplate>
</Button.Template>
</Button>
有沒有辦法通過一個風格還是動態設置超鏈接的文本(inline或一些其他的標籤)?
我一直無法通過XAML訪問它。我得到它與超鏈接內的文本塊上的常規綁定一起工作,但這實際上是在viewmodel上創建了一個冗餘屬性。
這是不太我所需要的。我想避免直接從ViewModel上的字符串屬性綁定超鏈接中的文本。 – Ads
@廣告你確定你想要一個按鈕內的超鏈接?這將是一個非常奇怪的用戶界面。你會有一個可以點擊的按鈕,裏面有一個可以單獨點擊的超鏈接。 –
是的,我的要求是讓它像一個超鏈接(沒有導航網址,模仿按鈕)。重新定義控制模板去除按鈕外觀,我只給了按鈕一個支持方法(使用mvvm和caliburn.micro)。感謝您的textblock建議,點擊我的解決方案。 – Ads