2010-12-06 108 views
1

問候WPF - 全球屬性和用戶控件

我有一個主窗口,它將容納多個用戶控件。我會給你一個例子畫面更好的視野: example

<!--Player 1--> 
    <local:ucRaces x:Name="ucRacesP1" Width="78" Height="33" Visibility="Hidden" /> 
    <Image Name="imageRacePlayer1" Height="27" Width="27" /> 

    <!--Player 2--> 
    <local:ucRaces x:Name="ucRacesP2" Width="78" Height="33" Visibility="Hidden" /> 
    <Image Name="imageRacePlayer2" Height="27" Width="27" /> 
  • UC3和UC4是相同的用戶控制
  • UC3已經被命名爲ucRacesP1(默認爲隱藏)
  • UC4已被命名爲ucRacesP2(默認爲隱藏)
  • 根據圖像上按下哪個按鈕,其中一個控件變爲可見。

現在我想要做的是,當一個人在UC3中選擇一個值時,需要設置player1的屬性。當在UC4中選擇一個值時,我需要設置player2的屬性。我正在考慮這樣做的屬性,但是當搜索屬性和WPF我偶然發現依賴屬性。這開始混淆了我一點,我需要使用正常的屬性或這些依賴屬性。

  • 我怎樣才能知道我是否有設置PLAYER1值或player2值(這取決於從哪個用戶控件發送數據)?

  • 如何將這些值保存爲整個應用程序的最佳值?

  • 將用戶控件置於開始時(由於定位)隱藏在最佳方式還是有更好的選擇?

謝謝你的時間閱讀我的問題(S)!

回答

1

我想,你的statring點是

根據所按圖像按鈕

1有圖像上某些按鈕和其中一個控件變得可見用戶可以點擊圖片。

2-您可以使用ICommand接口來優化用戶界面中的特定命令,例如,如果用戶按Palyer1,如果用戶按下Player2,則您可以執行Player1Command,您可以執行Player2Command。

3-在player1和player2中可能有重複的代碼,但不用擔心,總是可以重構代碼的第一件事就是將命令分派給相應的命令處理程序。