考虑具有31个超链接按钮的SilverLight项目。那些代表了本月的日子。我正在使用这段代码来突出显示今天重演的超链接按钮。突出显示激发事件的按钮
var daynumberHyperButton = this.FindName("Day" + DateTime.Today.Day) as HyperlinkButton;
//Highlighting the day of the month
if (daynumberHyperButton != null)
{
daynumberHyperButton.Background = new SolidColorBrush(Colors.Gray);
}
然后,如果我点击这个突出显示的超链接按钮,它会打开一个子窗口来写一些报告。
private void rapport_Closed(object sender, EventArgs e)
{
ReportWindow rapport = (ReportWindow)sender;
var daynumberHyperButton = this.FindName("Day" + DateTime.Today.Day) as HyperlinkButton;
if (rapport.UsersValue == "Röd" && rapport.DialogResult==true)
{
daynumberHyperButton.Background = new SolidColorBrush(Colors.Red);
}
else if (rapport.UsersValue == "Gul")
{
daynumberHyperButton.Background = new SolidColorBrush(Colors.Yellow);
}
else
{
daynumberHyperButton.Background = new SolidColorBrush(Colors.Green);
}
}
- :
private void dayHyperLink_Click(object sender, RoutedEventArgs e)
{
//This will initite and show the report window
ReportWindow rapport = new ReportWindow();
rapport.Closed += new EventHandler(rapport_Closed);
rapport.Show();
}
当我附近单击OK按钮childwindows,是因为我使用这个代码做改变突出显示的hyperlinkbutton的颜色(今天天)
但是,如果我点击没有突出显示的任何其他超链接按钮,它仍然只会改变突出显示的超链接按钮的颜色。我知道这是因为我的rapport_Closed
事件有:
var daynumberHyperButton = this.FindName("Day" + DateTime.Today.Day) as HyperlinkButton;
如何更改上面的代码,这是我rapport_Closed事件的一部分,所以它改变了事件的发射颜色(即打开childwindow一)超链接按钮,无论哪个超链接按钮是引发事件的那个按钮?
我会高兴地看到您的XAML代码。您可以跟踪变量中点击的链接,因此当窗户关闭时,您仍然可以访问该变量以更改其颜色。 – fenix2222
主页面或子窗口的XAML代码? – DreamNet
请任何人知道如何做我的上述问题? – DreamNet