UserControls
私のプロジェクトには5つあります。メインウィンドウButton
をクリックすると、それぞれのユーザー コントロールをメイン ウィンドウにロードする必要があります。XAMLを介して達成することは可能ですか? 私はMVVMフレームワークを使用しています。
2 に答える
1
次の {Kazuo の提案の代替案} を行うことができます...私の簡単なテストでは問題なく動作しました。
<Windows.Resources>
<ComboBox x:Key="options">
<ControlTemplate x:Name="Button" TargetType="Control">
<Button/>
</ControlTemplate>
<ControlTemplate x:Name="ComboBox" TargetType="Control">
<ComboBox/>
</ControlTemplate>
</ComboBox>
</Windows.Resources>
次に、ウィンドウアイテムに次のようなものを入れます
<Control x:Name="myCotrol" Margin="364,70,27,215" Template="{Binding Mode=OneWay, Source={StaticResource options},Path=SelectedItem}" />
<TextBox x:Name="Test" HorizontalAlignment="Left" Height="23" Margin="398,83,-1,0" Text="{Binding Source={StaticResource options},Path=SelectedIndex}" VerticalAlignment="Top" Width="120"/>
Test は、どのコントロールを使用するかを決定するすべてのアイテムです。実行時に text の Text フィールドに 0 または 1 を入力してテストできます。これにより、ボタンまたはコンボボックスが切り替わります。
お役に立てれば :)
于 2013-07-08T10:11:30.497 に答える
0
Xaml のメイン ウィンドウに既にユーザー コントロールを配置し、それらを折りたたむことができます。ビューモデルには、コンバーターを介してユーザー コントロールの可視性にバインドする bool 値があります (たとえば、true は Visibility.Visible に変換されます)。メイン ウィンドウのボタンをクリックすると、bool 値を true に設定すると、コントロールが表示されます。
純粋な xaml アプローチではないため、これは役に立たないかもしれません
于 2013-07-08T09:13:57.770 に答える