내 WPF (창 전화) 간단한 프로젝트에서 3 가지 문제. 나는 그것을 해결함으로써 많은 시간을 보냈지 만 어떤 특별한 결과도 발견되지 않았다.WPF : 동적으로 생성 된 버튼의 태그를 설정하여 메서드를 호출하는 방법
내 CS 파일에서 나는 동적 버튼들을 만들었다. for for loop와 set 동적 버튼을위한 태그를 만들었다.
내 cs 파일 코드가 여기에 있습니다.
private void Grid_View_Btn_1_Click(object sender, System.Windows.RoutedEventArgs e)
{
//Grid ButtonsAddition
Dispatcher.BeginInvoke(() =>
{
string[] Trade = new string[] { "Portfolio Display", "Trade Idea Entry", "Trade Idea Monitor", "Historical Performance", "Intraday Performance", "Stock Performance" };
StackPanel panel = new StackPanel();
panel.Orientation = System.Windows.Controls.Orientation.Vertical;
//panel.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
//panel.VerticalAlignment = System.Windows.VerticalAlignment.Top;
int i;
for (i = 0; i < Trade.Length; i++)
{
Button btn = new Button() { Content = Trade[i] };
btn.Margin = new Thickness(0, -10, 0, -10);
var brush = new ImageBrush();
brush.ImageSource = new BitmapImage(new Uri("C:/Users/HafizArslan/Documents/Visual Studio 2012/Projects/AimPass/AimPass/Images/tabbar_btn_blue.png", UriKind.Relative));
btn.Background = brush;
btn.Width = 190;
btn.Height = 75;
btn.FontSize = 14;
btn.FontWeight = light;
btn.FontStretch = Fill;
btn.HorizontalAlignment = HorizontalAlignment.Center;
btn.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
// btn.CornerRadius = new CornerRadius(15);
btn.BorderThickness = new Thickness(1, 1, 1, 1);
btn.Tag = i.ToString();
btn.Click += new RoutedEventHandler(abc_click);
panel.Children.Add(btn);
}
grid.Children.Add(panel);
});
}
private void abc_click(object sender, EventArgs e)
{
}
6 개의 버튼이 있습니다. 문제는 단추로 다른 작업을 수행하고 싶습니다 ... 태그를 설정했지만 어떻게 단추 태그로 작업에 액세스 할 수 있습니까?
나는 이런 것을 원한다는 것을 의미한다 ... !!
친절하게 말해 ...
private void abc_click(object sender, EventArgs e)
{
// If(btn.Tag==1)
{
//Some Code Here
}
else
if(btn.Tag==2) {
//Perform other Function
}
} Etc.....?
및 기타 문제는 모든 생성 버튼 배경 ... 이미지의 이미지 brush..Assign 정확한 경로를 만든 것입니다 .... 그러나 이미지가 연결되어 있지 않습니다 이 두 가지 문제에 관한 내용 ...
인프라를 변경하고 데이터 바인딩/ItemsControl을 처리하는 것이 좋습니다. –
@ Felice Pollano 나는 많은 일을 해왔다 ... 나는 그게 가능하지 않을 것 같아 .... 친절하게도 이것에 대한 해결책이 있는지 아니면 어떤 방법으로 ..? – Arsal
내가 당신에게 준 제안은 내가하는 일입니다. –