質問編集履歴
9
イメージ図追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -2,7 +2,11 @@ | |
| 2 2 | 
             
            ViewModel側でプロパティを定義し、
         | 
| 3 3 | 
             
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 4 4 |  | 
| 5 | 
            +
            ペイントで書いた超雑な絵ですがイメージ図
         | 
| 5 6 |  | 
| 7 | 
            +
            
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 6 10 | 
             
            ###試してみたこと①
         | 
| 7 11 | 
             
            複数のUserControlを同一箇所にソース上で記載し、
         | 
| 8 12 | 
             
            - 表示するUserControlのVisibillityをVisible
         | 
8
やりたいこと欄の文章を微修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -35,7 +35,8 @@ | |
| 35 35 | 
             
            この実装では、Aに割り当てられているhogeのUserControlが表示されました。
         | 
| 36 36 |  | 
| 37 37 | 
             
            ###やりたいこと
         | 
| 38 | 
            +
            ノリとしては、試してみたこと②に記載したソース内に書かれている
         | 
| 38 | 
            -
             | 
| 39 | 
            +
            `"{StaticResource A}"`の`A`の部分をBindingして、ViewModelから
         | 
| 39 40 | 
             
            表示を決められる様にしたいです。
         | 
| 40 41 |  | 
| 41 42 | 
             
            何か思いつきがありましたらご教授ください。
         | 
7
見出しが小さかったので大きくした
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 | 
            -
            ### | 
| 1 | 
            +
            ###最初に
         | 
| 2 2 | 
             
            ViewModel側でプロパティを定義し、
         | 
| 3 3 | 
             
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 4 4 |  | 
| 5 5 |  | 
| 6 | 
            -
            ### | 
| 6 | 
            +
            ###試してみたこと①
         | 
| 7 7 | 
             
            複数のUserControlを同一箇所にソース上で記載し、
         | 
| 8 8 | 
             
            - 表示するUserControlのVisibillityをVisible
         | 
| 9 9 | 
             
            - 表示しないUserControlのVisibillityをCollapsed
         | 
| @@ -11,7 +11,7 @@ | |
| 11 11 | 
             
            にすることで要素の領域を取らない形にすれば、UserControlの切り替えは可能ですが
         | 
| 12 12 | 
             
            もっとうまいやり方があるのかな…と
         | 
| 13 13 |  | 
| 14 | 
            -
            ### | 
| 14 | 
            +
            ###試してみたこと②
         | 
| 15 15 | 
             
            とりあえず行き当たりばったりで調べて以下のようなソースになりました。
         | 
| 16 16 |  | 
| 17 17 | 
             
            ```XAML
         | 
| @@ -34,7 +34,7 @@ | |
| 34 34 |  | 
| 35 35 | 
             
            この実装では、Aに割り当てられているhogeのUserControlが表示されました。
         | 
| 36 36 |  | 
| 37 | 
            -
            ### | 
| 37 | 
            +
            ###やりたいこと
         | 
| 38 38 | 
             
            ノリとしては、`"{StaticResource A}"`の`A`の部分をBindingして、ViewModelから
         | 
| 39 39 | 
             
            表示を決められる様にしたいです。
         | 
| 40 40 |  | 
6
Visibillityを使った実装方法については「試してみたこと①」に記載し、文法を改善した。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -1,12 +1,17 @@ | |
| 1 | 
            -
            ####
         | 
| 1 | 
            +
            ####最初に
         | 
| 2 2 | 
             
            ViewModel側でプロパティを定義し、
         | 
| 3 3 | 
             
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 4 4 |  | 
| 5 | 
            +
             | 
| 6 | 
            +
            ####試してみたこと①
         | 
| 7 | 
            +
            複数のUserControlを同一箇所にソース上で記載し、
         | 
| 5 | 
            -
             | 
| 8 | 
            +
            - 表示するUserControlのVisibillityをVisible
         | 
| 9 | 
            +
            - 表示しないUserControlのVisibillityをCollapsed
         | 
| 10 | 
            +
             | 
| 6 | 
            -
             | 
| 11 | 
            +
            にすることで要素の領域を取らない形にすれば、UserControlの切り替えは可能ですが
         | 
| 7 12 | 
             
            もっとうまいやり方があるのかな…と
         | 
| 8 13 |  | 
| 9 | 
            -
            ####試してみたこと
         | 
| 14 | 
            +
            ####試してみたこと②
         | 
| 10 15 | 
             
            とりあえず行き当たりばったりで調べて以下のようなソースになりました。
         | 
| 11 16 |  | 
| 12 17 | 
             
            ```XAML
         | 
5
誤字
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -3,7 +3,7 @@ | |
| 3 3 | 
             
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 4 4 |  | 
| 5 5 | 
             
            UserControlのVisibillityを表示するUserControl以外の
         | 
| 6 | 
            -
            VisibillityをCollapsedに方法でも一応実現は可能ですが、
         | 
| 6 | 
            +
            VisibillityをCollapsedにしてあげる方法でも一応実現は可能ですが、
         | 
| 7 7 | 
             
            もっとうまいやり方があるのかな…と
         | 
| 8 8 |  | 
| 9 9 | 
             
            ####試してみたこと
         | 
4
文法の修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -2,7 +2,8 @@ | |
| 2 2 | 
             
            ViewModel側でプロパティを定義し、
         | 
| 3 3 | 
             
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 4 4 |  | 
| 5 | 
            +
            UserControlのVisibillityを表示するUserControl以外の
         | 
| 5 | 
            -
             | 
| 6 | 
            +
            VisibillityをCollapsedに方法でも一応実現は可能ですが、
         | 
| 6 7 | 
             
            もっとうまいやり方があるのかな…と
         | 
| 7 8 |  | 
| 8 9 | 
             
            ####試してみたこと
         | 
3
質問の仕方を変えた
    
        title	
    CHANGED
    
    | @@ -1,1 +1,1 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            表示するUserControlをプロパティによって切り替えたい
         | 
    
        body	
    CHANGED
    
    | @@ -1,40 +1,36 @@ | |
| 1 | 
            -
            #### | 
| 1 | 
            +
            ####
         | 
| 2 | 
            +
            ViewModel側でプロパティを定義し、
         | 
| 2 | 
            -
             | 
| 3 | 
            +
            View側で表示するUserControlをプロパティの状態によって変えようと考えています。
         | 
| 3 4 |  | 
| 4 | 
            -
             | 
| 5 | 
            +
            UserControlのVisibillityをCollapsedにして重ねて定義しても実現は可能ですが、
         | 
| 5 | 
            -
             | 
| 6 | 
            +
            もっとうまいやり方があるのかな…と
         | 
| 6 7 |  | 
| 8 | 
            +
            ####試してみたこと
         | 
| 7 | 
            -
             | 
| 9 | 
            +
            とりあえず行き当たりばったりで調べて以下のようなソースになりました。
         | 
| 8 | 
            -
            - 1つ目の子のViewModelの型が”A”、2つ目が”B”なら、XXXのView
         | 
| 9 | 
            -
            - 1つ目の子のViewModelの型が”C”、2つ目が”D”なら、YYYのView
         | 
| 10 10 |  | 
| 11 | 
            -
            ####やってみたこと
         | 
| 12 | 
            -
            ViewModelとModelが1:1のときは、
         | 
| 13 | 
            -
            以下の実装でうまくいきます。
         | 
| 14 | 
            -
            ``` | 
| 11 | 
            +
            ```XAML
         | 
| 15 | 
            -
            <!-- | 
| 12 | 
            +
            <!--略-->
         | 
| 16 13 | 
             
                <UserControl.Resources>
         | 
| 17 | 
            -
                    <DataTemplate  | 
| 14 | 
            +
                    <DataTemplate x:Key="A">
         | 
| 18 | 
            -
                        < | 
| 15 | 
            +
                        <controls:hoge />
         | 
| 19 16 | 
             
                    </DataTemplate>
         | 
| 20 | 
            -
                    <DataTemplate  | 
| 17 | 
            +
                    <DataTemplate x:Key="B">
         | 
| 21 | 
            -
                        < | 
| 18 | 
            +
                        <controls:fuga/>
         | 
| 22 19 | 
             
                    </DataTemplate>
         | 
| 23 | 
            -
                    <DataTemplate  | 
| 20 | 
            +
                    <DataTemplate x:Key="C">
         | 
| 24 | 
            -
                        < | 
| 21 | 
            +
                        <controls:piyo />
         | 
| 25 22 | 
             
                    </DataTemplate>
         | 
| 26 23 | 
             
                </UserControl.Resources>
         | 
| 24 | 
            +
             | 
| 27 | 
            -
                < | 
| 25 | 
            +
                <UserControl ContentTemplate="{StaticResource A}" Content="{Binding}"/>
         | 
| 28 | 
            -
            <!-- | 
| 26 | 
            +
            <!--略-->
         | 
| 29 27 | 
             
            ```
         | 
| 30 28 |  | 
| 31 | 
            -
            ###最後に
         | 
| 32 | 
            -
            実現方法がいまいちわからないので、
         | 
| 33 | 
            -
            ViewModelの2つの型の組み合わせを別プロパティに割り当てて
         | 
| 34 | 
            -
             | 
| 29 | 
            +
            この実装では、Aに割り当てられているhogeのUserControlが表示されました。
         | 
| 35 30 |  | 
| 31 | 
            +
            ####やりたいこと
         | 
| 32 | 
            +
            ノリとしては、`"{StaticResource A}"`の`A`の部分をBindingして、ViewModelから
         | 
| 36 | 
            -
             | 
| 33 | 
            +
            表示を決められる様にしたいです。
         | 
| 37 | 
            -
            質問の解決に必要な情報がありましたら質問してください。
         | 
| 38 34 |  | 
| 39 | 
            -
             | 
| 35 | 
            +
            何か思いつきがありましたらご教授ください。
         | 
| 40 36 | 
             
            よろしくお願いします。
         | 
2
やりたいこと⇒最後に に文言を変更
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -28,7 +28,7 @@ | |
| 28 28 | 
             
            <!-- 略 -->
         | 
| 29 29 | 
             
            ```
         | 
| 30 30 |  | 
| 31 | 
            -
            ### | 
| 31 | 
            +
            ###最後に
         | 
| 32 32 | 
             
            実現方法がいまいちわからないので、
         | 
| 33 33 | 
             
            ViewModelの2つの型の組み合わせを別プロパティに割り当てて
         | 
| 34 34 | 
             
            そのプロパティによって表示するViewを変えようと考えています。
         | 
1
やりたいこと修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -29,11 +29,12 @@ | |
| 29 29 | 
             
            ```
         | 
| 30 30 |  | 
| 31 31 | 
             
            ####やりたいこと
         | 
| 32 | 
            +
            実現方法がいまいちわからないので、
         | 
| 32 33 | 
             
            ViewModelの2つの型の組み合わせを別プロパティに割り当てて
         | 
| 33 | 
            -
            そのプロパティによって表示するViewを変え | 
| 34 | 
            +
            そのプロパティによって表示するViewを変えようと考えています。
         | 
| 34 35 |  | 
| 35 36 | 
             
            手短に伝えてしまいましたが、
         | 
| 36 | 
            -
            必要な情報がありましたら質問してください。
         | 
| 37 | 
            +
            質問の解決に必要な情報がありましたら質問してください。
         | 
| 37 38 |  | 
| 38 39 | 
             
            また、実装方法について何か思いつきがありましたらご教授ください。
         | 
| 39 40 | 
             
            よろしくお願いします。
         | 
