【发布时间】:2011-03-17 04:57:58
【问题描述】:
我在 xaml 中有以下数据模板,在这里我在数据模板中有文本框,在普通 XAML 中有按钮,我真正想要的是我想要保持按钮被禁用,直到人们在文本框中输入内容?但它不起作用我已经尝试了以下代码
请调查一下并帮助我!或者有没有其他方法可以让我知道!
<UserControl.Resources>
<DataTemplate x:Key="dataTemplateParameter">
<StackPanel Width="170" Height="Auto" Margin="5">
<TextBlock Width="160" TextAlignment="Left" HorizontalAlignment="Left" Height="22" Text="{Binding Path=ParameterName, Mode=TwoWay}"/>
<TextBox x:Name="txtboxParameter" Width="160" Height="22" HorizontalAlignment="Left" Text="{Binding Path=ParameterValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</DataTemplate>
<Button Grid.Row="6" Name="SearchSourceParamBtn" Content="Search" VerticalAlignment="Bottom" Margin="12,5,92,0" Height="20" Visibility="{Binding SearchSourceBtnVisibility}" Command="{Binding SearchCommand}">
<Button.Style>
<Style TargetType="Button">
<Setter Property="IsEnabled" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Text,x:ElementName=txtboxParameter}" Value="">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
谢谢 纳尔斯卡蒂
【问题讨论】:
-
是的,您是正确的,但问题是参数值不在视图模型中,它来自直接连接的模型!
标签: wpf xaml data-binding datatemplate