【问题标题】:Changing a Button's Content with another Button用另一个按钮更改按钮的内容
【发布时间】:2020-07-27 17:14:26
【问题描述】:

通过这段代码,我设法改变了它自己的内容:

public void Button1_Click(object sender, RoutedEventArgs e)
{
   Button button1 = sender as Button;
   button1.Content = "Something";
}

但是我怎样才能用另一个按钮改变它的内容呢?

我试过了:

public void Button2_Click(object sender, RoutedEventArgs e)
{
   Button1.Content = "Something2";
}

但这次我必须先点击Button1,然后再点击第二个才能让它工作。

【问题讨论】:

  • 您在此处显示的内容应该可以正常工作。如果没有看到相关的 XAML 部分,我们无法判断发生了什么。
  • @Clemens 是的,它可以工作,但前提是我先按 Button1。在 Button2 之前不按 Button1,Button2 什么也不做。
  • 当然,你已经在你的问题中写过了。但是,从您在此处显示的内容来看,这种行为没有明显的原因。所以向我们展示你的 XAML...

标签: wpf button


【解决方案1】:

如果我猜到你的标记,它对我有用。

因为只是该代码本身并没有什么错误。

这是一件很奇怪的事情。

但它有效。

因此在 MainWindow 我有:

    <Grid>
        <StackPanel>
            <Button Content="Original" Name="Button1" Click="Button1_Click"/>
            <Button Content="Second" Name="Button2" Click="Button2_Click"/>
        </StackPanel>
    </Grid>
    </Window>

以及后面的代码:

    public MainWindow()
    {
        InitializeComponent();
    }

    private void Button1_Click(object sender, RoutedEventArgs e)
    {
        Button button1 = sender as Button;
        button1.Content = "Something";
    }

    private void Button2_Click(object sender, RoutedEventArgs e)
    {
        Button1.Content = "Something2";
    }

当我点击 Button2 时,Button1 的内容发生了变化。

如果您的应用中没有,那么您的标记有什么不同?

【讨论】:

  • 感谢您的回复。我创建了一个新项目并复制粘贴了我以前使用过的相同代码并且它工作了,所以我真的不知道我搞砸了什么但最终它工作了。
猜你喜欢
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多