wpf найти внутреннюю сетку внутри стиля - PullRequest
0 голосов
/ 19 октября 2011

У меня есть стиль кнопки, определенный в xaml, внутри у меня есть раскадровка и, среди прочего, сетка.Раскадровка установила непрозрачность сетки на 0,1.Вопрос в том, как восстановить его с помощью кода.Я думаю, что я могу получить доступ к сетке и установить непрозрачность 1, но я не могу найти способ получить сетку через c #.

Вот код:

xaml:

<Style x:Key="BevelWLButton" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}" x:Name="bbtemplate">
                    <ControlTemplate.Resources>
                        <Storyboard x:Key="FadeOut" >
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid">
                                <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
                                <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.05"/>
                            </DoubleAnimationUsingKeyFrames>
                        </Storyboard>

                    </ControlTemplate.Resources>
                    <Grid x:Name="grid">
                        -------------- up is the grid i find
    </Style>

кнопки создаются по коду и стиль установлен правильно

здесь я начинаю раскадровку:

var story = btn.Template.Resources["FadeOut"] as Storyboard;
                if (story != null)
                {
                    story = story.Clone();
                    story.Begin(btn,btn.Template);
                }

но когда я пытаюсь

currentButton.Resources["grid"]; or currentButton.Template.Resources["grid"];

результат равен нулю.Итак, я не могу восстановить непрозрачность

Любая идея?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Вы пробовали currentButton.Template.FindName("grid", currentButton) as Grid

0 голосов
/ 19 октября 2011

Вы можете сделать это

Grid gridInTemplate = (Grid)currentButton.Template.FindName("grid", currentButton);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...