0

我在单元格编辑模板的数据网格中有一个文本框。我想将文本框中输入的文本绑定到每个单元格的文本块。我尝试了这段代码,但它不起作用。

这是我的xml:

                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <!--<ComboBox x:Name="monday" Width="50"   IsSynchronizedWithCurrentItem="true"   Loaded="monday_Loaded" SelectionChanged="monday_SelectionChanged"></ComboBox>-->
                            <ComboBox x:Name="monday" Width="30"   ItemsSource="{Binding  Path=Subjects}" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" SelectedItem="{Binding SelectedCollectionItem,Mode=TwoWay}"     Loaded="monday_Loaded" SelectionChanged="monday_SelectionChanged"></ComboBox>
                            <ComboBox x:Name="staff" Width="30"  ItemsSource="{Binding  Path=mondstaff}"  DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" SelectedItem="{Binding SelectedCollectionItem1,Mode=TwoWay}"  Loaded="staff_Loaded" SelectionChanged="staff_SelectionChanged"></ComboBox>
                            <TextBox x:Name="monothers" Visibility="Hidden" Text="{Binding  Path=Subjects}" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" SelectedText ="{Binding SelectedCollectionItem2,Mode=TwoWay}"   Width="30" TextChanged="monothers_TextChanged"></TextBox>
                            <!--<ComboBox x:Name="staff" Width="50" Loaded="staff_Loaded"></ComboBox>-->
                        </StackPanel>
                    </DataTemplate>

这是我的代码:

public string SelectedCollectionItem
        {
            get { return _SelectedCollectionItem; }
            set
            {
                _SelectedCollectionItem = value;
                RaiseProperty2("SelectedCollectionItem2");
            }
        }

如果有人知道该怎么做,请帮助我。

4

1 回答 1

0

我认为您在代码隐藏中错过了此代码

public void monothers_TextChanged(object sender, TextChangedEventArgs e)
{
   var binding = ((TextBox)sender).).GetBindingExpression(TextBox.TextProperty);
   binding.UpdateSource();
}

更多细节

看到这个讨论

如何连接 TextBox 的 TextChanged 事件和命令以便在 Silverlight 中使用 MVVM 模式

你也需要参考这个博客

使用 Behavior 使 Silverlight 文本框更新其对每个字符的绑定

于 2013-10-25T05:28:28.713 回答