У меня есть файл Resources.xaml
, содержащий Storyboard
, предназначенный для элемента управления с именем myButton
(этот элемент управления находится в другом пользовательском элементе управления):
<ResourceDictionary ...>
<Storyboard x:Key="expandWizard">
<DoubleAnimation Storyboard.TargetName="myButton"
Storyboard.TargetProperty="Width"
To="200" Duration="0:0:0.250" />
</Storyboard>
</ResourceDictionary>
Ссылка на словарь ресурсов содержится в файле Shell.xaml
, который содержит пользовательский элемент управления Test
:
<Window xmlns:test="clr-namespace:MyProject.UI" ...>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Resources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<!-- User control that contains a button. -->
<test:Test x:Name="testControl" />
</Window>
И, наконец, пользовательский элемент управления Test.xaml
содержит кнопку с именем myButton
:
<UserControl ...>
<Button x:Name="myButton" Content="OK" />
</UserControl>
Когда я запускаю раскадровку, я получаю сообщение об ошибке: InvalidOperationException: 'myButton' name cannot be found in the name scope of 'MyProject.UI.Shell'
.
Это имеет некоторый смысл, поскольку myButton
не находится непосредственно внутри Shell.xaml
, но как я могу заставить эту работу работать?