Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一stackPanel WPF上设置控制值_Wpf_Datatemplate - Fatal编程技术网

在同一stackPanel WPF上设置控制值

在同一stackPanel WPF上设置控制值,wpf,datatemplate,Wpf,Datatemplate,我有一个情况: 带有TemplateColumn的DataGrid。模板包含带有复选框和文本框的堆栈面板。我想要的是,当我按下复选框,然后按下位于同一StatkCpanel上的TextBox,将值设置为1。 简单地说 复选框->IsChecked==true->将文本框值设置为1(文本框与复选框位于同一堆栈面板上) 我尝试使用相对资源,但不工作。 谢谢您的帮助。您可以将文本框TextForTextBox的内容绑定,并将选中状态绑定到选中状态。在viewModel中,您将:do private s

我有一个情况: 带有TemplateColumn的DataGrid。模板包含带有复选框和文本框的堆栈面板。我想要的是,当我按下复选框,然后按下位于同一StatkCpanel上的TextBox,将值设置为1。 简单地说 复选框->IsChecked==true->将文本框值设置为1(文本框与复选框位于同一堆栈面板上)

我尝试使用相对资源,但不工作。
谢谢您的帮助。

您可以将文本框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后面使用任何代码!这就是我要找的。