WPF Demo10 嵌套Winform、RadGridView、

<Window x:Class="控件Demo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="控件学习" Height="350" Width="525"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
    <Grid ShowGridLines="True">
        <Menu HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top"  IsMainMenu="True" ItemsSource="{Binding}" Background="#00000000">
            <MenuItem Header="文件">
                <MenuItem Header="Copy"  Click="MenuItem_Click"/>
                <MenuItem Header="Cut" />
                <MenuItem Header="Paste" />
            </MenuItem>
            <MenuItem Header="帮助" StaysOpenOnClick="True">
                <MenuItem Header="About" />
            </MenuItem>
        </Menu>
        <Expander Header="expander1" Height="100" HorizontalAlignment="Left" Margin="48,76,0,0" Name="expander1" VerticalAlignment="Top">
            <Expander.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="删除" />
                    <MenuItem Header="添加" />
                </ContextMenu>
            </Expander.ContextMenu>
            <Grid   ShowGridLines="True">
                <Grid.RowDefinitions>
                    <RowDefinition  />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
            </Grid>
        </Expander>
        <StatusBar HorizontalAlignment="Left"  Name="statusBar1" VerticalAlignment="Bottom"  Background="#00000000">
            <StatusBarItem HorizontalAlignment="Left" Content="公有N个测试项,当前正在测试N-2项" />
        </StatusBar>
        <ToolBar  HorizontalAlignment="Left" Margin="0,27,0,0" Name="toolBar1" VerticalAlignment="Top" >
            <Button Content="btnTest"/>
            <Label Content="lblTest"/>
            <ComboBox SelectedIndex="0">
                <ComboBoxItem>100%</ComboBoxItem>
                <ComboBoxItem>150%</ComboBoxItem>
                <ComboBoxItem>200%</ComboBoxItem>
            </ComboBox>
        </ToolBar>

        <WindowsFormsHost HorizontalAlignment="Left" Width="75" Height="30" Margin="205,27,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" >
            <wf:Button Text="test" Click="Button_Click" />
        </WindowsFormsHost>

        <telerik:RadTreeListView
                telerik:StyleManager.Theme="Office_Silver"
                AutoGenerateColumns="False"
                IsFilteringAllowed="False"
                HierarchyColumnIndex="0"
                RowIndicatorVisibility="Collapsed"
                Name="tlvList"
                IsReadOnly="True" Margin="12,182,12,28">
            <telerik:RadTreeListView.ChildTableDefinitions>
                <telerik:TreeListViewTableDefinition ItemsSource="{Binding Child}"  />
            </telerik:RadTreeListView.ChildTableDefinitions>
            <telerik:RadTreeListView.Columns>
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="名称" Width="150" >
                </telerik:GridViewDataColumn>
                <telerik:GridViewDataColumn DataMemberBinding="{Binding CreateDate}" Header="创建时间" Width="150" />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Version}" Header="版本" Width="150" />
            </telerik:RadTreeListView.Columns>
        </telerik:RadTreeListView>

        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="361,62,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
    </Grid>
</Window>

<Window x:Class="控件Demo.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
        Title="Window1" Height="300" Width="500">
    <Grid>
        <telerik:RadTreeListView
                telerik:StyleManager.Theme="Office_Silver"
                AutoGenerateColumns="False"
                IsFilteringAllowed="False"
                HierarchyColumnIndex="0"
                RowIndicatorVisibility="Collapsed"
                Name="tv"
                IsReadOnly="True" >
            <telerik:RadTreeListView.ChildTableDefinitions>
                <telerik:TreeListViewTableDefinition ItemsSource="{Binding Child}"  />
            </telerik:RadTreeListView.ChildTableDefinitions>
            <telerik:RadTreeListView.Columns>
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="名称" Width="150" >
                </telerik:GridViewDataColumn>
                <telerik:GridViewDataColumn DataMemberBinding="{Binding CreateDate}" Header="创建时间" Width="150" />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Version}" Header="版本" Width="150" />
            </telerik:RadTreeListView.Columns>
        </telerik:RadTreeListView>
    </Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 控件Demo
{
    public class Helper
    {
        private static Helper instance;
        public static Helper Instance
        {
            get
            {
                if (instance == null) instance = new Helper();
                return Helper.instance;
            }
        }
        /// <summary>
        /// 工程列表信息
        /// </summary>
        /// <returns></returns>
        public List<ProjectConfigModel> GetProjectList()
        {
            List<ProjectConfigModel> list = new List<ProjectConfigModel>();

            ProjectConfigModel devRoot = new ProjectConfigModel
            {
                Name = "开发组A",
                CreateDate = string.Empty,
                Version = string.Empty,
                Child = new List<ProjectConfigModel>(),
            };
            devRoot.Child.Add(new ProjectConfigModel
            {
                Name = "孙001",
                CreateDate = "2014.05.15 11:11:11",
                Version = "V2.0.0.1"
            });
            devRoot.Child.Add(new ProjectConfigModel
            {
                Name = "张111",
                CreateDate = "2014.05.15 12:11:11",
                Version = "V2.0.0.2"
            });
            devRoot.Child.Add(new ProjectConfigModel
            {
                Name = "周001",
                CreateDate = "2014.05.15 13:11:11",
                Version = "V2.0.0.3"
            });
            devRoot.Child.Add(new ProjectConfigModel
            {
                Name = "张01",
                CreateDate = "2014.05.15 14:11:11",
                Version = "V2.0.0.4"
            });
            devRoot.Child.Add(new ProjectConfigModel
            {
                Name = "曹001",
                CreateDate = "2014.05.15 15:11:11",
                Version = "V2.0.0.5"
            });
            list.Add(devRoot);

            ProjectConfigModel testRoot = new ProjectConfigModel
            {
                Name = "测试组A",
                CreateDate = string.Empty,
                Version = string.Empty,
                Child = new List<ProjectConfigModel>(),
            };
            testRoot.Child.Add(new ProjectConfigModel
            {
                Name = "慕001",
                CreateDate = "2014.05.15 11:11:11",
                Version = "V2.0.0.1"
            });
            testRoot.Child.Add(new ProjectConfigModel
            {
                Name = "陈001",
                CreateDate = "2014.05.15 12:11:11",
                Version = "V2.0.0.2"
            });
            testRoot.Child.Add(new ProjectConfigModel
            {
                Name = "张xx",
                CreateDate = "2014.05.15 13:11:11",
                Version = "V2.0.0.3"
            });
            testRoot.Child.Add(new ProjectConfigModel
            {
                Name = "李xx",
                CreateDate = "2014.05.15 14:11:11",
                Version = "V2.0.0.4"
            });
            testRoot.Child.Add(new ProjectConfigModel
            {
                Name = "zhoumm",
                CreateDate = "2014.05.15 15:11:11",
                Version = "V2.0.0.5"
            });
            list.Add(testRoot);

            return list;
        }
    }
}

using System;
using System.Windows;

namespace 控件Demo
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            this.tlvList.ItemsSource = Helper.Instance.GetProjectList();
        }

       private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Copy");
        }

        private void Button_Click(object sender, EventArgs e)
        {
            Form1 f = new Form1();
            f.Show();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Window1 w = new Window1();
            w.Show();
        }
    }
}

using System.Windows;

namespace 控件Demo
{
    /// <summary>
    /// Window1.xaml 的交互逻辑
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            this.tv.ItemsSource = Helper.Instance.GetProjectList();
        }
    }
}

运行效果:

时间: 2024-11-03 05:42:41

WPF Demo10 嵌套Winform、RadGridView、的相关文章

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi

WPF加载Winform窗体时 报错:子控件不能为顶级窗体

一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为:public partial class Form1 三.代码如下: XXXX.Form1 Zhuwindow = new XXXX.Form1(); Zhuwindow.TopLevel = false; Zhuwindow.FormBorderStyle = System.Windows.Fo

Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决

有人会说不建议Wpf中使用Winform控件,有人会说建议使用Winform控件在Wpf下的替代方案,然而在实际工作中由于项目的特殊需求,考虑到时间.成本等因素,往往难免会碰到在WPF中使用Winfrom控件的问题,我们知道Wpf可以通过使用WindowsFormsHost容器调用Winform控件,但是在一些场合需要将Wpf元素显示在Winform控件的上层,此时就会出现Wpf元素被Winform控件遮盖的问题. 一.场景再现 接到公司命令,在时间紧迫的情况下,需要将原来的Winform程序(

在WPF中使用WinForm控件方法

1.      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2.      在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容: 即: xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:wfi ="clr-namespace:System.Windo

在WPF中调用Winform控件

最近在项目中用到了人脸识别和指纹识别,需要调用外部设备和接口,这里就用到了在WPF中调用Winform控件. 第一步,添加程序集引用.System.Windows.Forms和WindowsFormsIntegration 第二步,添加对Winform控件的引用(选中部分) 第三步,添加控件(包在WindowsFormsHost中)

WPF 精修篇 Winform 嵌入WPF控件

原文:WPF 精修篇 Winform 嵌入WPF控件 首先 创建WPF控件库 这样就有了一个WPF界面 在wpf中增加界面等 在winform中增加WPFDLL 重新生成解决方案 在左侧工具栏 出现WPF 控件 拖到窗体 效果 原文地址:https://www.cnblogs.com/lonelyxmas/p/12075801.html

【WPF】WPF中调用Winform

1.添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows).System.Windows.Forms.2.在 XAML文件中添加两个引用(粗体部分): <Window x:Class="CrossBowDemo.MainWindow" xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration&quo

wpf资源嵌套,一个资源引用另外一个资源,被引用的资源应该声明在前面

在wpf的XAML的Window.Resources中,一个资源引用另外一个资源,出现如下错误: “错误 1 “{DependencyProperty.UnsetValue}”不是 Setter 上“System.Windows.FrameworkElement.FocusVisualStyle”属性的有效值”. 如下图: 虽然错误列表里出现如图的错误,但是程序缺依然可以运行,只是在设计器里看不了UI视图(界面). 出现这个错误的原因是: 被引用的资源的声明在引用它的资源的后面了(或者是没有声明

在WPF中引用WinForm的控件

以ArcEngine为例: mapControl = new AxMapControl(); MapHost.Child = mapControl; //MapHost为WindowsFormHost控件 ((System.ComponentModel.ISupportInitialize)(this.mapControl)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.mapControl)).EndInit();