UWP 응용 프로그램에서 햄버거 버튼을 만들기 위해 BooleanToVisibilityConverter
을 사용하여 RSSReader Example처럼 햄버거 버튼의 상태를 변경하려고합니다. MainPage.xaml을UWP에서 BooleanToVisibilityConverter를 사용하는 방법
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Data;
namespace UWPTest.Common {
public class BooleanToVisibilityConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, string language) =>
(bool)value^(parameter as string ?? string.Empty).Equals("Reverse") ?
Visibility.Visible : Visibility.Collapsed;
public object ConvertBack(object value, Type targetType, object parameter, string language) =>
(Visibility)value == Visibility.Visible^(parameter as string ?? string.Empty).Equals("Reverse");
}
}
다음 로 가져올 :
<Page
x:Class="UWPTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UWPTest"
xmlns:common="using:UWPTest.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<common:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Page.Resources>
<Grid Background="Transparent">
<ToggleButton x:Name="TogglePaneButton"
Visibility="{x:Bind ViewModel.IsInDetailsMode, Mode=OneWay, ConverterParameter=Reverse, Converter={StaticResource BooleanToVisibilityConverter}}"
Margin="0"
TabIndex="1"
Checked="{x:Bind CheckTogglePaneButtonSizeChanged}"
Unchecked="{x:Bind CheckTogglePaneButtonSizeChanged}"
IsChecked="{Binding IsPaneOpen, ElementName=RootSplitView, Mode=TwoWay}"
AutomationProperties.Name="Menu" ToolTipService.ToolTip="Menu"
Style="{StaticResource SplitViewTogglePaneButtonStyle}"/>
</Grid>
</Page>
인텔리을
문제는 내가 폴더 공통에 BooleanToVisibilityConverter.cs에게를 작성 쓴 때, 이름 "BooleanToVisibilityConverter"가 네임 스페이스에 존재하지 않음 "using : UWPTest.C ommon ". 클래스를 찾을 수없는 이유를 알 수 없습니다.
중국어 인텔리의 말의 그림 :
IntelliSense가 항상 정확한 것은 아닙니다. 오류없이 프로젝트를 구축 할 수 있습니까? –
꼭 확인하십시오. 실행시 코드가 컴파일되지 않거나 충돌이 발생합니까? 때때로 intellisense는 이러한 오류를 표시하지만 코드는 정상이며 잘 실행됩니다. –
SDK 버전 14393 이상을 타겟팅하는 경우 참고로 x : Bind는 IValueConverter를 작성할 필요없이 부울을 가시성 값으로 자동 변환합니다. –