Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在XamlReader加载后添加事件_C#_.net_Wpf_File_Richtextbox - Fatal编程技术网

C# 如何在XamlReader加载后添加事件

C# 如何在XamlReader加载后添加事件,c#,.net,wpf,file,richtextbox,C#,.net,Wpf,File,Richtextbox,我创建了一个类Rtb,它将创建一个新的RichTextBox,下面是构造函数和列表 public Rtb() { newRTB = new RichTextBox(); newRTB.IsReadOnly = true; newRTB.MouseDoubleClick += new MouseButtonEventHandler(newRTB_MouseDoubleClick); reqName = "Box" + Next

我创建了一个类Rtb,它将创建一个新的RichTextBox,下面是构造函数和列表

public Rtb()
    {
        newRTB = new RichTextBox();
        newRTB.IsReadOnly = true;
        newRTB.MouseDoubleClick += new MouseButtonEventHandler(newRTB_MouseDoubleClick);
        reqName = "Box" + NextID.ToString();
        newRTB.Name = reqName;
    }     

List<Rtb> rtbeditor = new List<Rtb>(); 
然后我使用XamlWriter保存它,问题是XamlWriter无法保存事件,因此我必须在加载它时将事件添加回,请参见下文

    private void menuReq_Click(object sender, RoutedEventArgs e)
    {
        BlockUIContainer newBlockUC = new BlockUIContainer();
        newBlockUC.Margin = new Thickness(50, 10, 50,10);
        Bigwin.Document.Blocks.Add(newBlockUC); //Bigwin is a big richtextbox
        rtbeditor.Add(new Rtb());
        Rtb newRichTB = new Rtb();                
        newBlockUC.Child = newRichTB.newRTB;  

    }
private void LoadRtfFile(string path)
    {
        FileStream fs = new FileStream(path, FileMode.Open);
        FlowDocument doc = XamlReader.Load(fs) as FlowDocument;
        Bigwin.Document = doc;
        fs.Close();
        foreach (var rtb in rtbeditor)
            rtb.MouseDoubleClick += req1_MouseDoubleClick; //add event to every richtextbox

    }

但是这个解决方案并没有添加双击事件,我认为代码的最后部分有问题。那么,如何向每个创建的richtextbox添加事件呢?

您订阅的是
Rtb
上的
MouseDoubleClick
,而不是
Rtb.newRTB

抱歉,现在您应该看到Rtb了