C# 多页WPF相同组件
我创建了一个主窗口和两个页面 这些页面的组件与主页相同,但颜色不同 1) 是否需要检查所有组件的名称,以使其与主组件不同C# 多页WPF相同组件,c#,wpf,navigation,frame,C#,Wpf,Navigation,Frame,我创建了一个主窗口和两个页面 这些页面的组件与主页相同,但颜色不同 1) 是否需要检查所有组件的名称,以使其与主组件不同 由于我错误地说没有方法定义为.Close或Dragmove,所以我从Optimizer.xaml中删除了它 2) 页面不会更改: private void Search_Click(object sender, RoutedEventArgs e) { Main.Content = new Optimizer(); ....} 页面设计(与main相同,只是更改
- 由于我错误地说没有方法定义为.Close或
,所以我从Dragmove
Optimizer.xaml中删除了它
private void Search_Click(object sender, RoutedEventArgs e)
{
Main.Content = new Optimizer();
....}
页面设计(与main相同,只是更改了颜色以进行检查):
主要XAML:
<Window x:Name="GUI" x:Class="Tool.MainWindow"
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:Tool"
mc:Ignorable="d"
Title="MainWindow" Height="637" Width="975.5" AllowsTransparency="True" WindowStyle="None" ResizeMode="CanResizeWithGrip">
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.2"/>
</Window.Background>
<Grid MouseDown="Grid_MouseDown">
<Frame x:Name = "Main"/>
<Grid Opacity="0.6"/>
<Image Margin="155,0,0,0" Source="Background.jpg" Stretch="Fill" Opacity="0.8"/>
<Grid HorizontalAlignment="Left" Width="235" Background="White" Opacity="1
">
<Button x:Name="Search" Content="" HorizontalAlignment="Left" Height="33" Margin="184,252,0,0" VerticalAlignment="Top" Width="47" FontFamily="Segoe MDL2 Assets" Background="{x:Null}" Click="Search_Click" FontSize="16"/>
</Grid>
<Image Source="Icon.ico" Stretch="Fill" RenderTransformOrigin="0.52,0.125" HorizontalAlignment="Left" Width="229" Height="132" VerticalAlignment="Top" Margin="6,0,0,0"/>
<Grid Margin="0,0,0,597">
<Button x:Name="Close" Content="" Height="40" VerticalAlignment="Top" Background="{x:Null}" FontFamily="Segoe MDL2 Assets" Foreground="White" Click="Close_Click" HorizontalAlignment="Right" Width="40" Margin="0,0,1,0">
<Button.BorderBrush>
<SolidColorBrush Color="#FF2C46BB" Opacity="0"/>
</Button.BorderBrush>
</Button>
<Button x:Name="Maximize" Content="" Height="40" Margin="0,0,41,0" VerticalAlignment="Top" FontFamily="Segoe MDL2 Assets" Background="{x:Null}" Foreground="White" Click="Maximize_Click" HorizontalAlignment="Right" Width="40" >
<Button.BorderBrush>
<SolidColorBrush Color="#FF2C46BB" Opacity="0"/>
</Button.BorderBrush>
</Button>
<Button x:Name="Minimize" Content="" Margin="0,0,81,0" Background="{x:Null}" FontFamily="Segoe MDL2 Assets" Foreground="White" HorizontalAlignment="Right" Width="40" Height="40" VerticalAlignment="Top" Click="Minimize_Click">
<Button.BorderBrush>
<SolidColorBrush Color="Black" Opacity="0"/>
</Button.BorderBrush>
</Button>
</Grid>
<TextBox x:Name="Username" TextAlignment="Center" HorizontalAlignment="Left" Height="33" Margin="16,252,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="168" FontSize="16"/>
<TextBlock HorizontalAlignment="Left" Height="120" Margin="16,132,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="225" FontSize="20"><Run Text="Welcome to Osrs Tool!"/><LineBreak/><Run/><LineBreak/><Run Text="Please Enter your Username:"/><LineBreak/><Run/></TextBlock>
</Grid>
</Window>
不,这是安全的,名称是每页的,属于那种类型,因此它与在多个对象中使用相同的名称一样安全 我收到了很多错误,说:'优化器'不包含一个定义。。。。它适用于页面中的所有组件代码>发布窗口和页面的整个视图,如果您已经完成了任何代码隐藏,也请发布。尽管如此,框架似乎出现在主窗口上方,而不是主窗口上方,因此现在我的窗口上有两个框架。您的框架位于网格中窗口上其他所有内容的后面。我不知道你是怎么说两个框架的,但是你的框架上面有你的窗口视觉效果。是的。WPF/UWP和XAML在设计时考虑了MVVM模式。虽然您可以使用其他模式,但这样做会丢失大约90%的功能,并在其他每个角落都会遇到问题。考虑到您提出的关于代码隐藏的问题/工作的数量,我高度怀疑这是一种合适的MVVM模式。如果你打算留在WPF,你一定要学习MVVM。几年前我写了一篇介绍,应该仍然能让你走上正轨:
<Window x:Name="GUI" x:Class="Tool.MainWindow"
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:Tool"
mc:Ignorable="d"
Title="MainWindow" Height="637" Width="975.5" AllowsTransparency="True" WindowStyle="None" ResizeMode="CanResizeWithGrip">
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.2"/>
</Window.Background>
<Grid MouseDown="Grid_MouseDown">
<Frame x:Name = "Main"/>
<Grid Opacity="0.6"/>
<Image Margin="155,0,0,0" Source="Background.jpg" Stretch="Fill" Opacity="0.8"/>
<Grid HorizontalAlignment="Left" Width="235" Background="White" Opacity="1
">
<Button x:Name="Search" Content="" HorizontalAlignment="Left" Height="33" Margin="184,252,0,0" VerticalAlignment="Top" Width="47" FontFamily="Segoe MDL2 Assets" Background="{x:Null}" Click="Search_Click" FontSize="16"/>
</Grid>
<Image Source="Icon.ico" Stretch="Fill" RenderTransformOrigin="0.52,0.125" HorizontalAlignment="Left" Width="229" Height="132" VerticalAlignment="Top" Margin="6,0,0,0"/>
<Grid Margin="0,0,0,597">
<Button x:Name="Close" Content="" Height="40" VerticalAlignment="Top" Background="{x:Null}" FontFamily="Segoe MDL2 Assets" Foreground="White" Click="Close_Click" HorizontalAlignment="Right" Width="40" Margin="0,0,1,0">
<Button.BorderBrush>
<SolidColorBrush Color="#FF2C46BB" Opacity="0"/>
</Button.BorderBrush>
</Button>
<Button x:Name="Maximize" Content="" Height="40" Margin="0,0,41,0" VerticalAlignment="Top" FontFamily="Segoe MDL2 Assets" Background="{x:Null}" Foreground="White" Click="Maximize_Click" HorizontalAlignment="Right" Width="40" >
<Button.BorderBrush>
<SolidColorBrush Color="#FF2C46BB" Opacity="0"/>
</Button.BorderBrush>
</Button>
<Button x:Name="Minimize" Content="" Margin="0,0,81,0" Background="{x:Null}" FontFamily="Segoe MDL2 Assets" Foreground="White" HorizontalAlignment="Right" Width="40" Height="40" VerticalAlignment="Top" Click="Minimize_Click">
<Button.BorderBrush>
<SolidColorBrush Color="Black" Opacity="0"/>
</Button.BorderBrush>
</Button>
</Grid>
<TextBox x:Name="Username" TextAlignment="Center" HorizontalAlignment="Left" Height="33" Margin="16,252,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="168" FontSize="16"/>
<TextBlock HorizontalAlignment="Left" Height="120" Margin="16,132,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="225" FontSize="20"><Run Text="Welcome to Osrs Tool!"/><LineBreak/><Run/><LineBreak/><Run Text="Please Enter your Username:"/><LineBreak/><Run/></TextBlock>
</Grid>
</Window>