在同一stackPanel WPF上设置控制值
我有一个情况: 带有TemplateColumn的DataGrid。模板包含带有复选框和文本框的堆栈面板。我想要的是,当我按下复选框,然后按下位于同一StatkCpanel上的TextBox,将值设置为1。 简单地说 复选框->IsChecked==true->将文本框值设置为1(文本框与复选框位于同一堆栈面板上) 我尝试使用相对资源,但不工作。在同一stackPanel WPF上设置控制值,wpf,datatemplate,Wpf,Datatemplate,我有一个情况: 带有TemplateColumn的DataGrid。模板包含带有复选框和文本框的堆栈面板。我想要的是,当我按下复选框,然后按下位于同一StatkCpanel上的TextBox,将值设置为1。 简单地说 复选框->IsChecked==true->将文本框值设置为1(文本框与复选框位于同一堆栈面板上) 我尝试使用相对资源,但不工作。 谢谢您的帮助。您可以将文本框TextForTextBox的内容绑定,并将选中状态绑定到选中状态。在viewModel中,您将:do private s
谢谢您的帮助。您可以将文本框TextForTextBox的内容绑定,并将选中状态绑定到选中状态。在viewModel中,您将:do
private string _text;
private bool _checked;
public string TextForTextBox
{
get { return _text; }
private set { _text = value;}
}
public bool Checked
{
get { return _checked; }
set
{
if (_checked != value)
{
_checked = value;
Text = _checked ? 1 : = 0;
PropertyChanged("Checked");
PropertyChanged("TextForTextBox");
}
}
}
这是假设您有一个实现INotfiyPropertyChanged的ViewModel
编辑
在纯XAML中更改此项的代码:
<Grid>
<StackPanel>
<CheckBox x:Name="check" />
<TextBox>
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=check, Path=IsChecked}" Value="True">
<Setter Property="TextBox.Text" Value="1" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=check, Path=IsChecked}" Value="False">
<Setter Property="TextBox.Text" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</StackPanel>
</Grid>
谢谢您的回答,但我正在寻找更多XAML内容。我不想在/VM.Very后面使用任何代码!这就是我要找的。