2013-03-17 63 views
0

更改用戶控制我有兩個UserControl's通過結合

我想,這取決於在我的視圖模型的值,以顯示另一個用戶控件各一次。

他們應該坐在UserControl包裝他們。

我該怎麼做?

這裏包裝:

<UserControl> 
    <local:UserControl1></local:UserControl1>// I want it to change by a binding 
</UserControl> 

回答

1

用DataTrigger做到這一點。這是從內存,但可能會幫助你:

<ContentControl> 
    <ContentControl.Style> 
     <Style TargetType="ContentControl"> 
      <Setter Property="Content"> 
       <Setter.Value> 
        <local:UserControl1 /> 
       </Setter.Value> 
      </Setter> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding BoolProperty}" Value="True"> 
        <Setter Property="Content"> 
         <Setter.Value> 
          <local:UserControl2 /> 
         </Setter.Value> 
        </Setter> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </ContentControl.Style> 
</ContentControl> 
+0

聽起來不錯,謝謝。 – 2013-03-17 09:02:28

+1

可能需要將一個TargetType添加到樣式。我使用這款Surface RT的屏幕鍵盤輸入了整個答案。不容易! – 2013-03-17 09:03:48

+0

還有一個問題,TargetType應該在這一行中是什麼:'