首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF复制按钮,点击不开火

WPF复制按钮,点击不开火
EN

Stack Overflow用户
提问于 2016-08-05 12:06:15
回答 1查看 248关注 0票数 1

我对c# wpf非常陌生,并且有一个问题。

我使用了来自this post的答案来复制一个Grid控件。网格控件包含一个按钮。看起来它被正确地复制了。

当按下原始控件的按钮时,将处理click事件,该事件调用窗口代码中的方法。

当按下控件按钮的副本时,不会触发click事件,也不会调用该方法。这让我很困惑,因为我想让它调用相同的方法。

也许事件处理数据没有被正确地复制?有办法绕道吗?

原始网格和复制网格(包含按钮)都是另一个网格的子网格。

编辑:

这是原始网格的xaml,它包含一个按钮:

代码语言:javascript
复制
<Grid Name="TempTab" DockPanel.Dock="Left" HorizontalAlignment="Left" Margin="5,5,5,0">
            <Rectangle  Fill="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke ="White" Margin="0,0,-2,0">
            </Rectangle>
            <Grid>
                <DockPanel LastChildFill="False">
                    <TextBlock Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="3,0,3,3">Some Text</TextBlock>
                    <Button Width="50" BorderBrush="{x:Null}" Foreground="{x:Null}" BorderThickness="0" Margin="3,0,0,0" Click="tabdowntest">
                        <Button.Background>
                            <ImageBrush ImageSource="TopMenuBar_Close.png" Stretch="Uniform"/>
                        </Button.Background>
                    </Button>
                </DockPanel>
            </Grid>
        </Grid>

这个网格是一个名为“TabsDock”的DockPanel的子网格。它是用以下代码复制的:

代码语言:javascript
复制
string gridXaml = XamlWriter.Save(TempTab);
StringReader stringReader = new StringReader(gridXaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
Grid newTab = (Grid)XamlReader.Load(xmlReader);
TabsDock.Children.Add(newTab);

这是“Click”事件处理程序的代码,当按下原始按钮或复制按钮时,应该调用它。但它只被要求为原始的:

代码语言:javascript
复制
    private void tabdowntest(object sender, MouseButtonEventArgs e)
    {
        Console.WriteLine("Button Pressed");
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 12:26:49

没有设置绑定,您需要设置它们(原始帖子中的注释):

要明确的是,这仅仅是解决方案的一半(就像它在08年那样)。这将导致对绑定进行评估并序列化结果。如果您希望保留绑定(如问题所示),您必须在运行时将一个ExpressionConverter添加到绑定类型中(有关链接,请参阅我问题的第二部分),或者在4.0中看到我自己的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38788861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档