Tôi muốn ẩn thanh điều hướng trong trang được tạo bằng WPF. Tôi đã thử ShowsNavigationUI = false
, nhưng nó vẫn hiển thị điều khiển.Cách ẩn thanh điều hướng trong trang WPF
Trả lời
Đặt chương trìnhKhông xác địnhUI = false trên đối tượng Trang nên làm điều đó. Hiện không có vẻ là một lỗi, tuy nhiên, điều đó sẽ gây ra điều này thất bại trong ít nhất một chuỗi các sự kiện:
- trang là đã có trong NavigationWindow khi điều này được thiết lập
- Trang là lái đi và ngược lại
Có thể có các tình huống khác mà tôi chưa gặp phải khiến nó không thành công.
Để làm điều này hoạt động hoàn toàn đáng tin cậy, điều tôi làm là bỏ qua thuộc tính Page.ShowsNavigationUI một cách hoàn toàn và đặt nó thay thế trên NavigationWindow. Điều này có vẻ hoàn toàn đáng tin cậy.
Sau đây là cách này có thể được thực hiện trong constructor trang của bạn:
Dispatcher.BeginInvoke(ApplicationPriority.Render, new Action(() =>
{
var navWindow = Window.GetWindow(this) as NavigationWindow;
if(navWindow!=null) navWindow.ShowsNavigationUI = false;
}));
Nếu bạn làm điều này, hãy nhớ không đặt ShowsNavigationUI trên trang bất kỳ đối tượng.
FYI, bạn cũng có thể chỉnh sửa NavigationWindow theo bất kỳ cách nào bạn muốn bằng cách thay đổi ControlTemplate của nó. Ví dụ: thao tác này sẽ xóa mọi thứ trừ nội dung trang thực tế:
<Style TargetType="{x:Type NavigationWindow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type NavigationWindow}">
<AdornerDecorator>
<ContentPresenter Name="PART_NavWinCP"
ClipToBounds="true"/>
</AdornerDecorator>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Chỉ hoạt động trên các cửa sổ Điều hướng, nhưng tôi đang sử dụng các cửa sổ WPF thông thường. Một số người nói đây là tốt hơn so với cửa sổ Navigation. Tôi đang sử dụng DockPanel để lưu trữ các trang của mình. Giải pháp của tôi tạo ra một mẫu mới cho DockPanel và đơn giản là không thêm các nút hoặc làm cho chúng ẩn đi (xem StackPanel Visibility = "Hidden"). Nó hoạt động độc đáo.
<DockPanel>
<Frame x:Name="_mainFrame">
<Frame.Template>
<ControlTemplate TargetType="Frame">
<DockPanel Margin="7">
<StackPanel Visibility="Hidden"
Margin="0"
Orientation="Horizontal"
DockPanel.Dock="Top"
>
<!--<Button
Content="Avast! Go back!"
Command="{x:Static NavigationCommands.BrowseBack}"
IsEnabled="{TemplateBinding CanGoBack}"
/>
<Button
Content="Forward you dogs!"
Command="{x:Static NavigationCommands.BrowseForward}"
IsEnabled="{TemplateBinding CanGoForward}"
/>-->
</StackPanel>
<Border>
<ContentPresenter />
</Border>
</DockPanel>
</ControlTemplate>
</Frame.Template>
</Frame>
</DockPanel>
điều này cho phép bạn tự động tải và đóng các trang, trong khi vẫn giữ trang chính của bạn mở? –
Điều này tôi thấy rất dễ. Trong MainWindow của bạn, làm điều này:
public MainWindow()
public partial class MainWindow : NavigationWindow
{
public MainWindow()
{
InitializeComponent();
ShowsNavigationUI = false;
}
}
}
Và nếu bạn có một sự kiện vào nút bấm để mở một trang mới, chỉ cần làm điều này:
private void btnEndUserSearch_Click(object sender, RoutedEventArgs e)
{
EndUser EndUserSearchPage = new EndUser();
this.NavigationService.Navigate(EndUserSearchPage);
EndUserSearchPage.ShowsNavigationUI = false;
}
+1 để rõ ràng. – jogojapan
Nếu bạn đang sử dụng một Khung bạn có thể thay đổi kiểu mặc định của Frame để loại bỏ các nút điều hướng (được hiển thị bên dưới). Cách tiếp cận tương tự có thể được thực hiện cho NavigationWindow. Ban đầu tôi đã thử thiết lập Page.ShowsNavigationUI và nó không có hiệu lực. Chỉ cần thêm phong cách dưới đây vào một ResourceDictionary và nó hoạt động tốt.
<Style TargetType="{x:Type Frame}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Frame}">
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" Padding="{TemplateBinding Control.Padding}" BorderBrush="{TemplateBinding Border.BorderBrush}" Background="{TemplateBinding Panel.Background}">
<ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" Name="PART_FrameCP" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
chỉ cần cho biết Trang của bạn Vùng chứa, bạn muốn thanh điều hướng hay không, sử dụng Thuộc tính điều hướngUcho phép.
<Frame Margin="173,41,1,28" Name="frmPageContainer" NavigationUIVisibility="Hidden" Panel.ZIndex="1" >
Tôi có vấn đề này bất cứ khi nào tôi tự động thay đổi sở hữu nội dung của một Frame, và giải quyết nó bằng cách sử dụng đoạn mã sau vào nhấp chuột của tôi() sự kiện.
ContentFrame.NavigationUIVisibility = NavigationUIVisibility.Hidden;
Trường hợp ContentFrame là tên của khung, như được định nghĩa trong XAML. tức là
<Frame x:Name="ContentFrame" />
Rất dễ thực hiện.
đây:
<Frame x:Name="_FrameName" NavigationUIVisibility="Hidden" />
:-p
- 1. IPHONE: ABPeoplePickerNavigation Thanh điều hướng ẩn của thanh điều khiển
- 2. Ẩn Thanh Điều hướng khi xoay
- 3. cách ẩn thanh điều hướng khi tôi đẩy từ bộ điều khiển điều hướng?
- 4. Ẩn thanh điều khiển điều hướng phía dưới
- 5. Ẩn thanh điều hướng trong bảng phân cảnh
- 6. Ẩn thanh công cụ trong WPF FlowDocument
- 7. Vĩnh viễn ẩn Thanh Điều hướng trong một hoạt động
- 8. làm thế nào để tạo phong cách riêng biệt ẩn/ẩn thanh điều hướng/tab?
- 9. ẩn thanh trạng thái và thanh điều hướng đồng thời, như trong ứng dụng Ảnh
- 10. Làm cách nào để ẩn thanh điều hướng trong iOS 7 dành riêng cho cocos2D?
- 11. Thanh điều hướng dính nhấp nháy khi đến cuối trang
- 12. Cách che phủ chế độ xem trên thanh điều hướng điều hướng?
- 13. Cách hiển thị thanh tiến trình trên đầu trang của một điều khiển trong WPF
- 14. Cách xóa nút thanh điều hướng mặc định
- 15. Làm cách nào để ẩn nút 'Quay lại' trên thanh điều hướng trên iPhone?
- 16. Màu nút trong thanh Điều hướng - iPhone
- 17. Điều hướng phím Tab WPF
- 18. Cách kết hợp đúng cách Thanh tab và thanh điều hướng trong iOS
- 19. Bảng phân cảnh - Ẩn thanh trên cùng của bộ điều khiển điều hướng theo chương trình
- 20. Cách triển khai thanh điều hướng trong angularjs
- 21. jQuery Mobile (1.1): vô hiệu ẩn một thanh điều hướng cố định
- 22. Tôi muốn ẩn thanh điều hướng iOS trên chế độ xem cụ thể
- 23. Cách chuyển thanh điều hướng và bộ điều khiển điều hướng ở chế độ ngang
- 24. Cách xử lý ngoại lệ điều hướng WPF WebBrowser điều hướng
- 25. iPhone: Đặt Tiêu đề Thanh Điều hướng
- 26. Ios7 safari kiểm soát thanh điều hướng trên cùng và dưới cùng/thanh công cụ
- 27. Không có thanh điều hướng trên cùng trong ứng dụng điều khiển thanh tab
- 28. WPF: Cách tắt điều hướng tab mà không cần tắt điều hướng phím mũi tên?
- 29. Cách: Bộ điều khiển điều hướng trong Bộ điều khiển thanh tab
- 30. Khoảng trống bí ẩn ở giữa thanh điều hướng Bootstrap2 và hàng bên dưới
tôi không thể tìm ApplicationPriority. Lớp học là gì? Tôi có vấn đề tương tự nhưng đối với tôi nó là ngẫu nhiên. – Paparazzi
Thay đổi 'ApplicationPriority.Render' bằng 'DispatcherPriority.Loaded' –