Xamlでこんなことはできますか?
if文やswitch文のように条件によって使うタグをごっそり変えたいです。
<〇〇〇 値> <値="1"> <TextBlock ・・・・・/> <Button ・・・・・・/> <値="2"> <CheckBox ・・・・/> <値=その他> <Combobox ・・・・/> <Button ・・・・/> <TextBox ・・・/> </〇〇〇>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
かんたんなのは表示/非表示を切り替える方法でしょうか。
XML
1<CheckBox Name="cbox" /> 2 3<Canvas> 4 <Canvas.Style> 5 <Style TargetType="Canvas"> 6 <Setter Property="Visibility" Value="Collapsed" /> 7 <Style.Triggers> 8 <DataTrigger Binding="{Binding ElementName=cbox, Path=IsChecked}" Value="True"> 9 <Setter Property="Visibility" Value="Visible" /> 10 </DataTrigger> 11 </Style.Triggers> 12 </Style> 13 </Canvas.Style> 14 15 <TextBlock Text="チェックされてるよ" /> 16</Canvas> 17 18<Canvas> 19 <Canvas.Style> 20 <Style TargetType="Canvas"> 21 <Setter Property="Visibility" Value="Visible" /> 22 <Style.Triggers> 23 <DataTrigger Binding="{Binding ElementName=cbox, Path=IsChecked}" Value="True"> 24 <Setter Property="Visibility" Value="Collapsed" /> 25 </DataTrigger> 26 </Style.Triggers> 27 </Style> 28 </Canvas.Style> 29 30 <Label Content="チェックされてないよ" /> 31</Canvas> 32
あとは同様にStyleのDataTriggerからTemplateをごっそり差し替えるかでしょうね。
投稿2017/02/05 03:37
総合スコア425
0
こんにちは。
Triggerを使ってください。
条件によってはDataTemplateのDataTypeも使えます。
投稿2017/02/03 13:39
総合スコア4791
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
ざっと調べてみましたが、何か違うような・・・
1つのTriggerでできるのは1つのコントロールの状態変更のように見えますが。
https://msdn.microsoft.com/ja-jp/library/system.windows.trigger(v=vs.110).aspx#Anchor_7
http://www.atmarkit.co.jp/ait/articles/1009/07/news096_2.html
http://memeplex.blog.shinobi.jp/wpf/datatrigger%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%EF%BC%88wpf%EF%BC%89
http://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/
http://gushwell.ldblog.jp/archives/52323268.html
2017/02/04 12:37 編集
ContentControlなどにDataTriggerを用意してTemplate入れ替えればいいのでは
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。