0
코드 숨김으로 격자에 추가 된 스택 패널의 Loaded 이벤트에서 생성 된 레이블이 있습니다. 내 질문은 내가 틱 기능에서 레이블을 어떻게 처리합니까?dispatchtimer의 Tick 이벤트에서 codebehind로 만든 레이블을 주소 지정하는 방법
는이 같은 XPath는 함께 레이블을 선택하는 방법에 대한 생각 : XPATH = // 라벨 [1] 또는
그리고 ID 아래의 예와 같이 이름을 추가하는 것은 정말 솔루션에서 XAML에서 레이블을 유지하려면
private int GridRow = 2;
private int GridColumn = 2;
public GameWindow()
{
InitializeComponent();
Grid TheGrid = GameGridOfficial;
for(var rij = 0; rij < 5; rij++)
{
GridColumn = 2;
for(var kolom = 0; kolom < 2; kolom++)
{
StackPanel sp = new StackPanel();
sp.SetValue(Grid.RowProperty, GridRow);
sp.SetValue(Grid.ColumnProperty, GridColumn);
sp.SetValue(Grid.RowSpanProperty, 2);
sp.SetValue(Grid.ColumnSpanProperty, 2);
sp.HorizontalAlignment = HorizontalAlignment.Center;
sp.VerticalAlignment = VerticalAlignment.Center;
sp.Loaded += Sp_Loaded;
TheGrid.Children.Add(sp);
GridColumn += 2;
}
GridRow += 2;
}
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += timer_Tick;
timer.Start();
}
private void Sp_Loaded(object sender, RoutedEventArgs e)
{
StackPanel sp = new StackPanel();
if (sender is StackPanel)
sp = (StackPanel)sender;
Label labelTimer = new Label();
labelTimer.Width = GridOfficial.ColumnDefinitions[3].ActualWidth/2;
labelTimer.Height = GridOfficial.RowDefinitions[2].ActualHeight;
labelTimer.Content = "00:00:00";
labelTimer.FontFamily = new FontFamily("Impact");
labelTimer.FontSize = 32;
labelTimer.Background = new SolidColorBrush(Colors.Aquamarine);
labelTimer.HorizontalContentAlignment = HorizontalAlignment.Center;
labelTimer.VerticalContentAlignment = VerticalAlignment.Center;
labelTimer.Name = "labelTickTimer";
sp.Children.Add(labelTimer);
}
void timer_Tick(object sender, EventArgs e)
{
labelTickTimer.Content = DateTime.Now.ToLongTimeString();
}
분명히 찾을 수없는 labelTickTimer입니다.
희망 정보와 코드로 충분합니다. 나는 최근에 혼자만의 레인저를 지냈고, 계속해서 인터넷 검색을 계속하고있다. & C# 프로그래밍 과정.
인사말 (GridRow` '와 함께) 클래스 범위
선언'라벨 labelTimer' 아니라 지정된 이름 ('labelTimer' 대 "labelTickTimer")에서, 변수 이름하여 참조. 또는'Controls' 트리에서 이름으로 찾아보십시오. – dlatikay
고마워요! 첫 번째 솔루션은 완벽하게 작동했습니다. :) –