簡體   English   中英

通過Style在TextBox上設置WPF Binding.StringFormat屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM