不用mvvm的话,so easy
新建 一个silverlight 4工程 在Window1xaml加入一个comboBox1
后台中加个student 的类
public class Student
{
public string Name{get;set;}
public int Age{get;set;}
}
public Window1()
{
InitializeComponent();
List<Student> StudList =new List<Student>();
StudListAdd(new Student(){ Name="张飞",Age=21 });
StudListAdd(new Student(){ Name="曹 *** ",Age=22 });
StudListAdd(new Student(){ Name="关公",Age=23 });
StudListAdd(new Student(){ Name="如花",Age=24 });
comboBox1ItemsSource=StudList;
comboBox1DisplayMemberPath="Name";
}
运行下看看
你List 想读配置文件的话Student 这个类就跟着变下,wpf基于属性绑定,不是事件驱动,想入门的话建议看下[深入浅出WPF完整版]刘铁猛出的,目前国人出的wpf就他的写的不错的书
还有你的配置文件应该是xml格式文件,要新建个MeterList的类 要用 SystemXmlXmlDocument这个类来读配置文件,来填冲MeterList这个类
C#获取当前应用程序所在路径及环境变量 一、获取当前文件的路径 string str1=ProcessGetCurrentProcess()MainModuleFileName;//可获得当前执行的exe的文件名。 string str2=EnvironmentCurrentDirectory;//获取和设置当前目录(即该进程从中
如果这个textbox是一个页面上的控件,应该是可以在后台直接获得的。你可以重新编译下工程项目就行了。如果这个textbox是在某个控件的template里的话,后台是不能直接获取的,但你可以通过视觉树的方式获取,网上有相关资料可以查阅借鉴。
obj as DataRowView;
改成强制类型转换试一试?
(DataRowView)DataRowView
另外,调试单步到 curltem ,obj你看看这俩有值吗
使用ListView的MouseDoubleClick事件,当你选中一行时,会得到ListViewSelectedItem,这个SelectedItem就是ListView数据源集合的一项,这样你就可以想显示什么就显示什么。
比如:ListView的DataContext绑定的数据源是List<Person>,Person类有三个属性(Name,Age,Sex),那么ListViewSelectedItem的值就是Person的一个对象,你想获得Text数据(假设是Name),只要使用var person = ListViewSelectedItem as Person;personName即可
private DependencyObject FindParentControl<T>(DependencyObject control)
{
DependencyObject parent = VisualTreeHelperGetParent(control);
while (parent != null && !(parent is T))
{
parent = VisualTreeHelperGetParent(parent);
}
return parent;
}
public T GetChildObject<T>(DependencyObject obj, string name) where T : FrameworkElement
{
DependencyObject child = null;
T grandChild = null;
for (int i = 0; i <= VisualTreeHelperGetChildrenCount(obj) - 1; i++)
{
child = VisualTreeHelperGetChild(obj, i);
if (child is T && (((T)child)Name == name | stringIsNullOrEmpty(name)))
{
return (T)child;
}
else
{
grandChild = GetChildObject<T>(child, name);
if (grandChild != null)
return grandChild;
}
}
return null;
}
this maybe help you
找grid用GetChildObject这个方法,parentControl是这个模板应用的目标控件
Grid grid = GetChildObject<Grid>(parentControl, "PART_Connector
");
注意判断是否返回null
前面:
<Grid>
<TreeView Name="tvDirectories" ItemsSource="{Binding}" >
</TreeView>
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="401,276,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click"/>
</Grid>
后台:
private void button1_Click(object sender, RoutedEventArgs e)
{
var list = new List<string>();
string path = @"D:\软件安装程序\应用软件\";//文件夹的路径
if (DirectoryExists(path))//判断要保存的目录文件是否存在。
{
var directory = new DirectoryInfo(path);
FileInfo[] collection = directoryGetFiles("exe");//指定类型
foreach (FileInfo item in collection)
{
string fullname = itemNameToString();
string filename = fullnameSubstring(0, fullnameLastIndexOf(""));//去掉后缀名。
listAdd(filename);
}
tvDirectoriesDataContext = list;
}
else
{
MessageBoxShow("文件夹不存在!");
}
}
以上就是关于在WPF使用中读取一个配置文件获得一个结构体list,然后将数据绑定到Combobox下拉列表框中,如何实现全部的内容,包括:在WPF使用中读取一个配置文件获得一个结构体list,然后将数据绑定到Combobox下拉列表框中,如何实现、如何在WPF中获取程序执行路径ExecutablePath、WPF前台xaml中的控件名在后台拿不到,后台代码中显示“当前上下文不存在名称‘xxx’”等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)