一小時後找不到任何答案。如何通過WPF中的所有應用程序來維護menuBar和StatusBar
是否有反正我可以像我的應用程序中的所有窗口保持「模板」,所以他們總是有相同的StatusBar
和Menu
?所以我不必每次創建窗口時手動添加它,因爲如果我添加例如MenuItem
我需要將它添加到所有窗口。此外,爲了保持相同的網格佈局,即使這並不重要。
就像在PHP中使用默認模板並改變它的主體一樣。
這是我的實際代碼:
<Window x:Class="studies.myWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:studies"
mc:Ignorable="d"
Title="My window Title" Height="720" Width="1280" WindowStartupLocation="CenterScreen" Background="{DynamicResource BackgroundKey}" WindowState="Maximized">
<Grid>
<Grid.ColumnDefinitions>
[...]
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
[...]
</Grid.RowDefinitions>
<Menu HorizontalAlignment="Stretch" Margin="0 0 0 20 " Grid.RowSpan="1" Grid.Column="0" Grid.ColumnSpan="12" VerticalAlignment="Stretch">
<MenuItem Header="_File">
<MenuItem Header="New _Company"/>
<MenuItem Header="New _Proyect"/>
<Separator />
<MenuItem Header="_Exit" />
</MenuItem>
</Menu>
<StatusBar HorizontalAlignment="Stretch" Grid.ColumnSpan="12" Grid.Row="12" VerticalAlignment="Stretch" Background="#FF212121" BorderBrush="#FF696969" >
<StatusBar.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="3*" />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</StatusBar.ItemsPanel>
<StatusBarItem>
<TextBlock Name="lblCursorPosition" Text="Conectado como: daniaguado" Foreground="{DynamicResource LightForegroundBrush}" FontSize="10" IsEnabled="False" />
</StatusBarItem>
<Separator Grid.Column="1" />
<StatusBarItem Grid.Column="2">
<TextBlock Foreground="{DynamicResource LightForegroundBrush}"/>
</StatusBarItem>
<Separator Grid.Column="3" />
<StatusBarItem Grid.Column="4">
</StatusBarItem>
</StatusBar>
<!-- Content goes here -->
</Grid>
</Window>
您可以創建一個「資源」,並在不同的頁面中重複使用它,同時向其添加新內容 –
@MattL。我爲'Resource'找到的所有示例都與樣式等有關,如何將組件轉換爲資源? –
您可以製作任何資源。在你的App.xaml中,創建一個資源部分: Application.Resources>,並在這些標記之間複製要創建資源的控件。所有你需要做的額外的是給它一個關鍵,'x:Key =「name」'。關鍵是你用來找到資源。這裏有一些更多的信息http://www.wpf-tutorial.com/wpf-application/resources/ –