带有ComboBox和UserControl的GridViewColumn

时间:2013-09-18 03:40:57

标签: c# wpf gridview combobox

我有一个带有Combobox的GridViewColumn在ComboBox上选择了我想动态放置UI元素。给出的是code.OperatorList有三个值“Between”,“After”,“Before”。基于此选择,模板具有要加载。如果“之间”多个TextBox其他单个文本框。这部分工作正常。但是获取此内容并存储在模型类中的每一行是我遇到问题的地方。

<StackPanel>
     <ComboBox Grid.Column="0" ItemsSource="{Binding Path=OperatorList}"  IsEditable="True"
                                          IsSynchronizedWithCurrentItem="True" 
                                          SelectedValue="{Binding ReferenceOperatorSelected}"  />
                                                    <UserControl x:Name="MyControl">

                                                    </UserControl>

                                                </StackPanel>
                                                <DataTemplate.Triggers>
                                                    <DataTrigger Binding="{Binding ReferenceOperatorSelected}" Value="Between">
                                                        <Setter TargetName="MyControl" Property="ContentTemplate" Value="{StaticResource MultipleTextBoxTemplate}"></Setter>
                                                    </DataTrigger>
                                                    <DataTrigger Binding="{Binding ReferenceOperatorSelected}" Value="After">
                                                        <Setter TargetName="MyControl" Property="ContentTemplate" Value="{StaticResource SingleTextBoxTemplate}"></Setter>
                                                    </DataTrigger>
                                                    <DataTrigger Binding="{Binding ReferenceOperatorSelected}" Value="Before">
                                                        <Setter TargetName="MyControl" Property="ContentTemplate" Value="{StaticResource SingleTextBoxTemplate}"></Setter>
                                                    </DataTrigger>
                                                </DataTemplate.Triggers>




    <DataTemplate x:Key="MultipleTextBoxTemplate">

                                    <StackPanel>

                                        <TextBox Text="{Binding Path=BetweenValue1,Mode=TwoWay,NotifyOnSourceUpdated=True}" MinWidth="40"></TextBox>
                                        <TextBox Text="{Binding Path=BetweenValue2,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" MinWidth="40"></TextBox>
                                    </StackPanel>
                                </DataTemplate>

在我的Model类中,我有两个属性BetweenValue1和BetweenVAlue2 ...当我在文本框中键入值时,这些属性不会更新。

1 个答案:

答案 0 :(得分:0)

您尚未为UserControl设置内容。只是尝试做

<UserControl x:Name="MyControl" Content="{Binding}"/>