当我添加自定义标题栏时,它不响应用户操作。
但删除TextBlock
,没关系。
我已在app.xaml.cs
OnLaunched()
中添加了这些代码:
//draw into the title bar
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
//remove the solid-colored backgrounds behind the caption controls and system back button
ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;
titleBar.ButtonBackgroundColor = Colors.Transparent;
titleBar.ButtonInactiveBackgroundColor = Colors.Transparent;
titleBar.ButtonForegroundColor = Colors.Black;
的Xaml:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<NavigationView x:Name="NavView" AlwaysShowHeader="False" SelectionChanged="NavView_SelectionChanged" DisplayModeChanged="NavView_DisplayModeChanged">
<NavigationView.MenuItems>
<NavigationViewItem Content="Home" Tag="home">
<NavigationViewItem.Icon>
<FontIcon Glyph=""/>
</NavigationViewItem.Icon>
</NavigationViewItem>
</NavigationView.MenuItems>
<NavigationView.AutoSuggestBox>
<AutoSuggestBox x:Name="ASB" QueryIcon="Find"/>
</NavigationView.AutoSuggestBox>
<Frame x:Name="ContentFrame" Margin="24">
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition/>
</TransitionCollection>
</Frame.ContentTransitions>
</Frame>
</NavigationView>
<TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}" Text="Test"/>
</Grid>
答案 0 :(得分:2)
嗯,这个问题非常简单。
NavigationView
出现Textblock
时,您无法与Textbox
进行互动的原因是因为NavigationView
在click
之上。因此,当您点击应用中的任意位置时,Textblock
会在NavigationView
而不是Textbock
上注册。
考虑到这一点,visual studio designer
具有透明背景,因此您无法看到它在视觉上覆盖整个应用区域,但在Textblock
中,您可以看到当您点击时Textbox
选择将转到整个应用区域,而不是文本中的小部分。
嗯,这很简单,给你的Height
Width
或Alignment
或某种<TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}" VerticalAlignment="Top" HorizontalAlignment="Center" Text="Test"/>
(水平或垂直),如下所示:
Grid.RowDefinitions
请注意:我强烈建议您使用
Grid.ColumnDefinitions
grid
和Grid.Row
以及Grid.Column
和VerticalAlignment
HorizontalAlignment
和Textblock
Class A{ int prop1; B b; @JsonCreator public A( @JsonProperty int prop1, @JsonProperty int prop2){ this.prop1 = prop1; this.b = new B(prop2); } }
Class B(){ int prop2; @JsonCreator public B(@JsonProperty int prop2){ this.prop2 = prop2; } }
{"prop1":"Hello1","prop2":"Hello2"}
调整文本框以使其更具适应性。请参阅我的回答here,以便更深入地了解如何保持自适应UI
我希望这有帮助,如果有任何疑问,请告诉我