我试图在WPF/C#中创建的应用程序在布局中有相当多的按钮,上面有一个“电视屏幕”类型的面板(它实际上是商用飞机的FMS模拟器).许多按钮改变布局,这是电视屏幕上众多的TEXTBOX.我的问题是:是否有规定将布局封装在不同的类/文件中,并在选择各种按钮时将其加载到“电视屏幕”中?换句话说,用户点击飞行计划按钮,上面355 x355框的布局加载XAML“flight_plan”布局/文件/类。每个布局都有不同的TEXTBOX大小和位置,并且有超过30个不同的“页面”,这将使封装它们变得可取。
我对WPF和c#非常陌生,但我已经用c++编写了win应用程序,一直到Turbo C & OWL。我也可能试图做一些不可能的事情,因为我最近在Android/Java中工作,我混淆了功能。
先谢了。
- 编辑 * 感谢@adityaswami89和其他所有让我走上正轨的人,我找到了解决方案。我在VS 2012中通过一个新的“WPF页面”添加了页面。然后将“屏幕”更改为导航框架,从此变得非常简单。下面是我创建的简单项目来测试它。
public partial class MainWindow : Window
{
NavRad navrad = new NavRad();
FPlan fplan = new FPlan();
public MainWindow() {..}
private void Frame_Navigated_1(object sender, NavigationEventArgs e) {..}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Screen_Frame.Navigate(fplan);
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
Screen_Frame.Navigate(navrad);
}
字符串
2条答案
按热度按时间mqkwyuun1#
您也可以使用框架的概念来实现预期的功能,如果这是您正在寻找的一个选项的话。
你可以参考下面的链接相同。
http://msdn.microsoft.com/en-us/library/ms750478.aspx#Frame_in_Standalone_Applications
hsgswve42#
你可以在不同的用户控件中抽象不同的UI布局集,并根据你的UI逻辑加载它们。一种方法是使用MVVM框架,例如,Caliburn Micro使这成为一个非常简单的任务:
System. out. println();
这个调用可以从任何方法调用。
在official source上查看更多Caliburn Screens and Composition。