我有一个wpf文本框,它使用资源设置样式,文本框的文本值来自使用转换器的样式资源。
这是样式资源文件中代码的一部分。它是文本框样式的控件模板的一部分。
<Style x:Key="DateTimePickerStyle" TargetType="{x:Type TextBox}">
//Other code omitted for clarity
<ToggleButton
Template="{StaticResource Button}"
MaxHeight="21"
Width="130"
IsEnabled="True"
Name="ImageButton"
Grid.Column="0"
IsChecked="False"
>
<ToggleButton.Content>
<MultiBinding Converter="{StaticResource DateTimeConverter}" >
<Binding
ElementName="CalendarDisplay" Path="SelectedDate" Mode="TwoWay"></Binding>
<Binding
ElementName="ComboBox" Path="SelectedValue" Mode="TwoWay"></Binding>
</MultiBinding>
</ToggleButton.Content>
</ToggleButton>
</Style>
我将代码中的样式资源连接起来,如下所示:
TextBox tb = new TextBox();
Style styleCalendar = (Style) tb.TryFindResource("DateTimePickerStyle");
if (styleCalendar != null)
{
DatePickerEndDate.Style = styleCalendar;//DateTimePickerEndDate is a text box on xaml
}
我在另一个窗口上使用此样式来设置文本框的样式,但希望它绑定到viewmodel中的属性。
<TextBox
Name="ClickNowEndDate"
Grid.Column="1"
Grid.Row="2"
Width="200"
Text="{Binding ClickNowEndDateTime}"
/>
我的问题是上述文本框以何种方式显示样式资源中转换器的值,同时,我可以使用“ClickNowEndDateTime”属性在视图模型中检索其值。