【发布时间】:2018-12-11 00:57:32
【问题描述】:
我有两个问题,我很确定它们在 WPF 中是分开的。首先,布尔 xs 没有传递到主窗口中,我通过测试它在哪里是真的,哪里不是。如果我在按钮单击事件中将它们添加到堆栈面板,交叉 1 和交叉 2 也不会绘制。很抱歉这是两个非常基本的问题,但我找不到任何有用的东西。此外,我尽量让你们尽可能多地阅读,所以如果你需要其他任何东西来使它工作,无论出于何种原因,请不要犹豫。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
StackPanel myStackPanel = new StackPanel();
Rectangle Rectangle = new Rectangle();
Rectangle.MouseLeftButtonDown += Rectangle8_MouseLeftButtonDown;
Rectangle Cross1 = new Rectangle();
Rectangle Cross2 = new Rectangle();
myStackPanel.Children.Add(Rectangle8);
bool xs = Menu.Xs;
bool os = Menu.Os;
bool RectangleClicked = false;
void Rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
RectangleClicked = true;
}
void Rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
RectangleClicked = true;
}
if (RectangleClicked == true)
{
myStackPanel.Children.Add(Cross2);
myStackPanel.Children.Add(Cross1);
}
if (xs == true)
{
MessageBox.Show("Xs is true");
}
}
}
窗口二代码
public partial class Menu : Window
{
public Menu()
{
InitializeComponent();
}
public static bool Xs { get; private set; }
public static bool Os { get; private set; }
public void Button_Click(object sender, RoutedEventArgs e)
{
Xs = true;
Os = false;
this.Close();
}
public void Button_Click_1(object sender, RoutedEventArgs e)
{
Xs = false;
Os = true;
MessageBox.Show("Xs is false");
this.Close();
}
}
}
【问题讨论】:
-
你试过设置十字架的可见性吗?
-
此代码不起作用。 XAML 在哪里?这如何编译 Rectangle.MouseLeftButtonDown += Rectangle8_MouseLeftButtonDown;?
-
@L0uis iv'e 大大缩写了完整的编译版本帮助我可以发送它。
-
是的@RickHodder