如何搭建新的WPF项目框架

2019-12-26 13:02:37丽君
  •   </Grid> 
  • </controls:BaseWindow>   
  • 后台代码:   
  • public partial class OkCanleWindow : BaseWindow  { 
  • public OkCanleWindow()  { 
  • InitializeComponent();  this.Closed += (s, e) => 
  • {  if (result == CustomDialogResult.None) 
  • {  result = CustomDialogResult.Cancel; 
  • }   
  • };  } 
  • private System.Windows.Controls.Control control;   
  • CustomDialogResult result;  public CustomDialogResult ShowDialog(string title, MsgBoxBtn btnState, Control uc, out object dataContext) 
  • {  #region 设置控件 
  • if (btnState == MsgBoxBtn.Ok) //如果为OK状态  { 
  • Grid.SetColumnSpan(okBtn, 2); //设置OK按钮跨两列  okBtn.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; //设置OK按钮居中对齐 
  • canleBtn.Visibility = System.Windows.Visibility.Collapsed; //设置Cancel 按钮隐藏;  if (uc != null) 
  • {  control = uc;  
  • Grid.SetRow(uc, 0); //设置控件所在Grid 的行  Grid.SetColumnSpan(uc, 2); //设置控件所在Grid 的列 
  • this.Width = uc.Width; //设置窗体宽度  this.Height = uc.Height + grid.RowDefinitions[1].Height.Value + 35; //设置窗体宽度 高度 
  • grid.Children.Add(uc); //加入控件  } 
  • }  if (btnState == MsgBoxBtn.None) //如果为None 既没有OK 也没有 Cancle 
  • {  grid.RowDefinitions.RemoveAt(1); 
  • okBtn.Visibility = System.Windows.Visibility.Collapsed;  canleBtn.Visibility = System.Windows.Visibility.Hidden; 
  • if(uc !=null)  { 
  • control = uc;  Grid.SetRow(uc, 0); //设置控件所在Grid 的行 
  • Grid.SetColumnSpan(uc, 2); //设置控件所在Grid 的列  this.Width = uc.Width; //设置窗体宽度 
  • this.Height = uc.Height + 35;  grid.Children.Add(uc); //加入控件