Я разрабатываю элемент управления WPF, и у меня нет контроля над приложениями, в которых он будет использоваться. Некоторые ключи словаря ресурсов XAML, очевидно, уникальны для моего контроля, например, <Style TargetType="{x:Type MyControl}">
, поэтому нет никаких конфликтов.Избегайте конфликтов ключа ресурса XAML в многократно используемых элементах WPF
Однако, мне нужно использовать не уникальные объекты, такие как BooleanToVisibilityConverter
. Если я добавлю его с помощью ключа "BooleanToVisibilityConverter"
, возможно (и, вероятно), что потребитель элемента управления, который включает мой словарь ресурсов, уже определил аналогичный конвертер в своем коде, возможно, с другим поведением.
Стандартные элементы управления как-то избегают конфликтов. Существует <BooleanToVisibilityConverter x:Key="bool2VisibilityConverter" />
в Aero.NormalColor.xaml
, который не виден для приложений WPF. Однако я не знаю, как этого добиться.
Как избежать конфликтов имен ресурсов? Как сделать мои имена ресурсов «локальными» для моего контроля?