Нужно ли мне использовать свойства зависимостей в этом случае или нужно использовать что-то еще?
В этом случае вам не нужно использовать свойства зависимостей, вы можете связать MoreBtn Visibility
в свойство ShowButton
напрямую.
<Button Grid.Column="1"
x:Name="MoreBtn"
Background="Transparent"
Content=""
Visibility="{Binding ShowButton}"
FontFamily="Segoe MDL2 Assets"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="10"
Padding="10"
Click="MoreBtn_Click"/>
Начиная с Windows 10, версии 1607 , платформа XAML предоставляет встроенное логическое значение Конвертер видимости. Конвертер сопоставляет true со значением перечисления Visible и false со значением Collapsed, поэтому вы можете связать свойство Visibility с логическим значением без создания конвертера. Чтобы использовать встроенный конвертер, минимальная целевая версия SDK вашего приложения должна быть 14393 или более поздней. Вы не можете использовать его, если ваше приложение нацелено на более ранние версии Windows 10. Для получения дополнительной информации о целевых версиях см. Адаптивный код версии.
Для предыдущей версии мы могли использовать BoolToVisibilityConverter
для преобразования bool в видимость (установите Microsoft.Toolkit.Uwp.UI пакет nuget).
Использование
<Page
x:Class="MasterDetailViewTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:MasterDetailViewTest"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d"
>
<Page.Resources>
<converters:BoolToVisibilityConverter x:Key="MyConveter" />
</Page.Resources>
......
<Button
x:Name="MoreBtn"
Grid.Column="1"
Margin="10"
Padding="10"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Background="Transparent"
Click="MoreBtn_Click"
Content=""
FontFamily="Segoe MDL2 Assets"
Visibility="{Binding ShowButton, Converter={StaticResource MyConveter}}"
/>