0

ComboBox に基づいて ComboBox が選択された GridViewColumn があり、UI 要素を動的に配置したい。以下にコードを示します。OperatorList には、「Between」、「After」、「Before」の 3 つの値があります。この選択に基づいて、テンプレートをロードする必要があります.If "Between" Multiple TextBox else Single 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の2つのプロパティがあります...これらは、テキストボックスに値を入力しても更新されません..

4

1 に答える 1

0

UserControl のコンテンツを設定していません。やってみるだけ

<UserControl x:Name="MyControl" Content="{Binding}"/>
于 2013-09-19T06:59:21.497 に答える