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);
}
}
- : 나는 OK (확인) 버튼을 클릭하여 childwindows을 닫을 때 나는 그렇게이 코드를 사용하고 있기 때문에
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();
}
, 그것은 강조했다 hyperlinkbutton의 색상 (오늘 하루) 변경
그러나 하이라이트 된 다른 하이퍼 링크 버튼을 클릭해도 하이라이트 된 하이퍼 링크 버튼의 색상 만 변경됩니다.
var daynumberHyperButton = this.FindName("Day" + DateTime.Today.Day) as HyperlinkButton;
이 발사 이벤트의 색상합니다 (childwindow을 여는 일)을 변경하도록 내가, 내 rapport_Closed 이벤트의 일부입니다 위의 코드를 변경할 수 있습니다 방법 : 내 rapport_Closed
이벤트가 있기 때문에 나는 이것을 알고 hyperlinkbutton, 어떤 hyperlinkbutton이 이벤트를 발생시키는 이벤트와 상관없이?
나는 당신의 XAML 코드를보고 좋은 것입니다. 변수에서 클릭 된 링크를 추적 할 수 있으므로 창이 닫히면 해당 변수에 액세스하여 색상을 변경할 수 있습니다. – fenix2222
기본 페이지 또는 하위 창에 대한 XAML 코드? – DreamNet
위 질문을 수행하는 방법을 아는 분 누구라도 제발요? – DreamNet