3个问题在我的WPF(窗口电话)简单的项目的标签来调用方法。我已经解决它花了很多时间,但没有具体的结果发现..WPF:如何通过设置动态创建的按钮
在我的CS文件我已经创建了一堆动态按钮。我与装箱for循环,并为每个动态按钮设置标签。
我的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个按钮creted。 问题是我想用按钮执行不同的操作...我已经设置标签,但我不知道如何访问按钮标签的操作..?
我的意思是我想是这样的......!
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确切路径......每一个创建按钮背景....但图像不附...
请告诉我对这些2个问题...
我建议改变基础设施和处理数据绑定/ ItemsControl的。 –
@Felice Pollano我做了很多工作......我认为它不可能亲爱的....请告诉我,如果你有解决方案...或者任何方法..? – Arsal
我给你的建议是我会做的。 –