2010-08-26 44 views
0

我在我的XAML中绑定到具有样式属性的控件。控件和样式之间的WPF绑定

<TextBox x:Name="txtCapAmount" Text="{Binding Path=CapAmount}" Style="{DynamicResource AmountTextBoxStyle}" /> 

在款式,我想用从控制结合,但我不知道如何设置

<Style x:Key="AmountTextBoxStyle" TargetType="{x:Type TextBox}"> 
    <EventSetter Event="TextBox.PreviewTextInput" Handler="PreviewTextInput_IsTheNewValueAnAcceptableAmount" /> 
    <EventSetter Event="CommandManager.PreviewExecuted" Handler="CommandPaste_IsTheNewValueAnAcceptableAmount" /> 
    <Setter Property="MinWidth" Value="100" /> 
    <Setter Property="Text" Value="{Binding Path=?????, TargetNullValue={x:Static System:String.Empty}, StringFormat={}{0:C0}}" /> 
</Style> 

我想重新使用这种风格在整个应用程序,但需要多个文本框将每个单独的文本框绑定到不同的属性。在样式中,是否可以在保留控件上的路径集的同时更改“文本”属性?

+0

你有没有尝试装订路径=文本? – dnr3 2010-08-27 06:13:05

回答

1

您在此处使用的样式不正确。样式应该类似于Web上的CSS,以改变多个类似控件实例的外观。

为什么你需要风格的文字呢?您已经在控件实例级绑定了文本。把它放在风格上并不会带来任何好处,因为你发现它不会工作

+0

关键是不要在整个应用程序中复制和粘贴TargetNullValue和StringFormat绑定值。我想将它们放在资源字典中(仅限一个地方)。我当然可以在控件上设置Text属性,但我真的很想找另一个答案。 – 2010-08-27 03:07:17