[英]Set WPF Binding.StringFormat Property on TextBox via Style
我有一個WPF應用程序包含許多具有不同類型的Bindings的TextBox
,它們共享相同的StringFormat
屬性(它是一個技術應用程序,Textboxes應顯示單位為“xxx mm”的值...)
我想在XAML / Designer中設置Binding,但我想避免在每個Binding上設置TextFormat屬性。 有沒有辦法使用樣式?
如果我嘗試在Setter
為Text屬性設置Binding,比如
<Style x:Name="mmtext" TargetType="TextBox" x:Key="mmtext">
<Setter Property="Text" Value="{Binding Path=A,StringFormat={}{0} mm}" />
</Style>
我需要在Setters Value屬性中提供一個Path
,並且我無法在XAML本身中定義任何綁定(因為這會覆蓋Style中設置的值)。
有沒有辦法使用Style在單個Binding(即Text
屬性的Binding)中設置/修改StringFormat
屬性?
或者我是否需要尋找模板或自定義控件?
你可以綁定文本框的DataContext而不是text屬性
<TextBox DataContext="{Binding Path=A}" />
然后使用像
<Style x:Name="mmtext" TargetType="TextBox" x:Key="mmtext">
<Setter Property="Text" Value="{Binding Path=., StringFormat={}{0} mm}" />
</Style>
對於TwoWay綁定,無論如何都需要一個轉換器來擺脫額外的mms
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.