Этот вопрос задавался много раз повсюду, но решения либо плохой практики, либо не рекомендуется, либо не являются типичными для этой проблемы. Возможно, этот поток может это исправить!Как получить доступ к внутреннему элементу ControlTemplate из Window.Resources?
У меня есть ControlTemplate в моем окне:
<Window>
<Window.Resources>
<ControlTemplate x:Key="buttonControl" TargetType="{x:Type Control}">
<Grid Name="grdButtons" FlowDirection="LeftToRight" Height="35" HorizontalAlignment="Right">
<Button Name="btnOk" Content="Ok" Width="75" Margin="10,10,255,0" HorizontalAlignment="Right" IsDefault="True" Click="btnOk_Click" />
<Button Name="btnCancel" Content="Cancel" Width="75" HorizontalAlignment="Right" Margin="10,10,175,0" IsCancel="True" Click="btnCancel_Click"/>
<Button Name="btnApply" Content="Apply" Width="75" HorizontalAlignment="Right" Margin="10,10,95,0" Click="btnApply_Click" />
<Button Name="btnDeleteRule" Content="Delete" Width="75" HorizontalAlignment="Right" Margin="10,10,15,0" Click="btnDeleteRule_Click" />
</Grid>
</ControlTemplate>
</Window.Resources>...
С коде, мне нужно, чтобы включить или отключить эту кнопку, основываясь на каких-либо действий, которые я поставил в коде. Как я могу правильно получить доступ к кнопке btnDeleteRule из кода? Я попытался использовать FindName(), но всегда получаю null.
Что значит не делать этого? Это должно быть сделано, так как Microsoft рекомендует нам это делать? Не могли бы вы подробнее рассказать о том, как привязать isEnabled к свойству? – joepetrakovich
@some_developer: Кто говорит, что это должно быть сделано? И где Microsoft рекомендует его? Если вы не знаете, как работают привязки, см. [Обзор] (http://msdn.microsoft.com/en-us/library/ms752347.aspx), я не буду вдаваться в подробности об этом здесь. –