我想在 WPF 中创建一个开/关按钮,并且我希望它在用户单击它时更改其外观(如果它是打开的,则切换为关闭,如果它是关闭的,则切换为打开)使用图像。我将要使用的图像添加到资源中:
<Window.Resources>
<Image x:Key="Off1" Source="/WPFApplication;component/Images/off_button.png" Height="30" Width="70" />
<Image x:Key="On1" Source="/WPFApplication;component/Images/on_button.png" Height="30" Width="70"/>
</Window.Resources>
事件代码是,“flag”是一个布尔局部变量,初始化为真:
private void OnOff1Btn_Click(object sender, RoutedEventArgs e)
{
if (flag)
{
OnOff1Btn.Content = FindResource("Off1");
flag = false;
}
else
{
OnOff1Btn.Content = FindResource("On1");
flag = true;
}
}
现在我需要创建 2 个开/关按钮,它们的行为相同。当我尝试对第二个按钮使用相同的资源时,我遇到了一个异常:
Specified element is already the logical child of another element. Disconnect it first.
我可以在第二个按钮中使用相同的图像资源,还是必须再次将图像添加为具有不同键的资源?