WPFマルチウィンドウパラメトリックソリューション
1263 ワード
WPFでは,複数のウィンドウ間でパラメータを伝達する問題によく関連しているが,どのように伝達すればよいのだろうか.
答え:ウィンドウのコンストラクション関数に渡したいパラメータを追加します.△うまく表現できません.次のコードを見てください.
メインウィンドウでスタンドアロンbuttonで新しいサブウィンドウを開きます.
サブウィンドウクラスは次のとおりです.
注意:この伝達パラメータが値タイプ(int,char,double)などであれば、データの伝達は一方向であり、親ウィンドウから子ウィンドウまでしかできません.
したがって、親ウィンドウがサブウィンドウ間でパラメータを互いに伝達できるようにするには、参照タイプの変数を伝達することによって実現する必要があります(stringタイプを除く).
なぜかというと、パラメータが最下位に渡される操作によるはずです.(c,c++の伝達方式と同様に、すなわち、伝達されたパラメータのコピーを伝達し、
私の推測です.下部の操作とは違うかもしれませんが、少なくとも表象は同じです.
答え:ウィンドウのコンストラクション関数に渡したいパラメータを追加します.△うまく表現できません.次のコードを見てください.
メインウィンドウでスタンドアロンbuttonで新しいサブウィンドウを開きます.
// :
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
NewWindow newWindow = new NewWindow(string str);
newWindow.ShowDialog();
}
}
サブウィンドウクラスは次のとおりです.
public partial class NewWindow : Window
{
public string str{ get; set; }
public NewWindow(string strRef)
{
str = strRef;
InitializeComponent();
}
// str 。
}
注意:この伝達パラメータが値タイプ(int,char,double)などであれば、データの伝達は一方向であり、親ウィンドウから子ウィンドウまでしかできません.
したがって、親ウィンドウがサブウィンドウ間でパラメータを互いに伝達できるようにするには、参照タイプの変数を伝達することによって実現する必要があります(stringタイプを除く).
なぜかというと、パラメータが最下位に渡される操作によるはずです.(c,c++の伝達方式と同様に、すなわち、伝達されたパラメータのコピーを伝達し、
私の推測です.下部の操作とは違うかもしれませんが、少なくとも表象は同じです.