其次我来说一下关于你两个问题的一些看法。
问题一——你这种问法相当于如何在后台对一个控件的Content添加一个控件。一般解决的方法为
后台先创建好listbox,然后赋值 expander1.Content=listbox;
问题二:如何后台指定控件模板。你后台创建一个listbox。 那就可以像一般属性一样赋给它的控件模板呀。
listbox.ItemTemplate = Resources["lbItemTemp"] as DataTemplate
//新建Window,把其默认的Grid元素删除,然后//在Window_Loaded事件里粘贴如下代码
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Grid g = new Grid()
g.HorizontalAlignment = HorizontalAlignment.Stretch
g.VerticalAlignment = VerticalAlignment.Stretch
g.Background = Brushes.Blue
ScrollViewer s = new ScrollViewer()
s.Width = 100
s.Height = 100
Label l = new Label()
l.Content = @"wpf 控件内 动态添加 控件
Oo巴黎迷雾_ | 分类:C#/.NET | 浏览17次
请示范一个简单的完整例子,不是在form里, 而是在wpf grid里的scrollviewer控件添加label控件。"
s.Content = l
this.AddChild(s)
}
1、添加一个目录存放资源字典(这一步不是必须的,如果不添加,修改后续步骤的路径即可),比如叫“Dictionary”;2、在目录中添加资源字典,名称随意,比如叫"Style.xaml";
3、修改App.xaml,添加资源字典路径,修改后的文件如下:
<Application x:Class="Test.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary\Style.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
4、现在可以在你的项目中引用Style这个资源字典中的资源了,使用动态和静态资源都可以,还需要添加其它字典时重复步骤2、3即可,下面是引用资源字典中iButton这个样式的代码示例:
<Button Style="{StaticResource iButton}"/>
基本就是这样了,希望对你有帮助,还有疑问请追问或是Hi
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)