Для примера есть 2 кнопки с разным контентом
<Button Name="ToggleButton" Height="40" Width="40" Cursor="Hand" Style="{DynamicResource PlayerButton}">
<Grid Width="10" Height="15" >
<Path Name="ToggleButtonPath" Data="M8 5v14l11-7z" Fill="White" Stretch="Fill" Height="15" Width="11"/>
</Grid>
</Button>
<Button Name="NextButton" Height="40" Width="40" Cursor="Hand" Style="{DynamicResource PlayerButton}">
<Grid Width="10" Height="15">
<Path Name="NextButtonPath" Data="M8 5v14l11-7z" Fill="White" Stretch="Fill" Height="15" Width="11"/>
</Grid>
</Button>
Отличаются в кнопках только Path.
Как можно реализовать программу так, чтобы не нужно было прописывать для каждого Path своё имя, но можно было изменять Path.
Для примера через имя кнопки ToggleButton.Path.Fill = ...
Когда вы помещаете что-то внутрь тега Button
- на самом деле вы устанавливаете этой кнопке свойство Content
, соответственно через Content
и можно попробовать добраться до нужного элемента. Это будет выглядеть примерно так:
((Path)((Grid)Button.Content).Children[0]).Fill = ...
Но я вам не рекомендую так делать, ведь это, во-первых, не удобно и громоздко, во-вторых, не надежно, т.к. фактически дерево элементов может отличаться от того, что вы видите в разметке
Я бы оформил ваш код в виде стиля. Заодно не нужно дублировать код с контентом:
<Style TargetType="Button" x:Key="PlayerButton">
<!-- тут ваш старый стиль -->
</Style>
<!-- это будет ваш новый стиль -->
<Style TargetType="Button" x:Key="PlayerButtonEx" BasedOn="{StaticResource PlayerButton}">
<Setter Property="Width" Value="40"/>
<Setter Property="Height" Value="40"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Content">
<Setter.Value>
<Grid Width="10" Height="15" >
<!-- цвет Fill берём из свойства Foreground кнопки -->
<Path Data="M8 5v14l11-7z"
Fill="{Binding Foreground, RelativeSource={RelativeSource FindAncestor,
AncestorType=Button}}"
Stretch="Fill" Height="15" Width="11"/>
</Grid>
</Setter.Value>
</Setter>
</Style>
Использовать так:
<Button Name="ToggleButton" Style="{DynamicResource PlayerButtonEx}" Foreground="Blue"/>
<Button Name="NextButton" Style="{DynamicResource PlayerButtonEx}" Foreground="Blue"/>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В дизайнере пытаюсь создать NavigationView или PersonPicture но они подчёркиваются и вот какие ошибки:
Понятного объяснения предназначения содержимого этого пространства имён в сети я не обнаружилНа сколько я понимаю, классы, представленные...
Видел куски кода на c#, но не особо шарю в этомМожете объяснить на пальцах, как это реализовать?