WPF - Глобальные свойства и пользовательские элементы управления - PullRequest
1 голос
/ 06 декабря 2010

Привет

У меня есть главное окно, которое будет содержать несколько пользовательских элементов управления. Я дам вам лучший вид с примером изображения: 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 (это зависит от того, какой UserControl передает данные)?

  • Как лучше сохранить эти значения для всего приложения?

  • Является ли установка пользовательских элементов управления скрытыми в начале (из-за позиционирования) лучшим способом или есть лучшая альтернатива?

Спасибо, что уделили время на чтение моих вопросов!

1 Ответ

1 голос
/ 06 декабря 2010

я думаю, ваша точка статинга

В зависимости от того, какая кнопка нажата на изображении, один из этих элементов управления становится видимым

1- На изображении есть определенные кнопки, и пользователь может нажать на изображение.

2 - Вы можете использовать интерфейс ICommand для исключения определенной команды в пользовательском интерфейсе, т.е. если пользователь нажимает Palyer1, вы не можете выполнить Player1Command, если пользователь нажимает Player2, вы можете выполнить Player2Command.

3- Возможно дублирование кода в player1 и player2, но не беспокойтесь об этом, вы всегда можете реорганизовать код в первую очередь, отправив команду соответствующему обработчику команд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...