2

私がここで尋ねているちょっとした奇妙な質問は理解しています。しかし、「新しいウィンドウへのポップアウト」機能があればクールなシナリオに出くわしました。しかし、ユーザーがその時に操作している UI は、技術的には DataTemplate です。それは、私が UserControl をテンプレートとして使用しただけです。

私がやりたいことは、その UserControl を新しいウィンドウにポップすることです (新しいウィンドウを作成せずに)。ただし、新しい UI が作成され、それほど面倒でない場合は、バインディング ルールで同じインターフェイスを作成する必要があります。

私が最初に考えたのは、単純にビュー モデルのコレクションから項目を取り出して新しいコレクションに挿入することでした。ここで、新しい UI が作成されると考えています。最初の質問は、今すぐウィンドウ マネージャーを作成する必要があるかどうかです。それも?

可能であれば、この状況にどのようにアプローチするかについて、意見やアイデアがどのようなものになるかを調べています。

PS。可能であれば、ビジュアル ツリーを掘り下げることは避けたいと思っていますが、それを行うためにアタッチされたビヘイビアなどを書くことに反対しているわけではありません。どこから始めればよいのか、何が「最良の」アプローチなのかわからないだけで、Googleは私のニーズに関連するものを何も見つけていません笑。

ありがとう。

4

1 に答える 1

0

XAML のセクションを大きなコントロールから小さなコントロールに移動することがよくありますが、基本的な要件は、コントロールを別のウィンドウに移動する場合と同じです。ウィンドウの が正しい限りDataContext、コントロール内のバインディングは引き続き機能するはずです。

考え過ぎていませんか?

using System.Windows;

namespace WpfApplication1
{
    public partial class MyWindow : Window
    {
        // private, See Execute() instead
        MyWindow() {
            InitializeComponent();
        }

        static public void Execute(MyViewModel vm)
        {
            MyWindow Window = new MyWindow() {
                DataContext = vm
            };

            Window.ShowDialog();
        }
    }
}
于 2013-01-21T08:59:49.820 に答える