wpf文件上传控件
Ⅰ 如何对外部WPF程序的控件进行操作
首先你要把自己的程序注入进目标进程。这个涉及到很多Win32 API的知识,不过开源软件Snoop, the WPF Spy Utility 里面有个Managed Injector,是用C++/CLI写的,你可以直接拿来用。实际上,整个Snoop所做的事情就是操纵外部程序的Visual Tree,所以你可以完整地学习一下。这个工具用来调试WPF程序也非常好用。
这个Injector会在注入成功后构造一个你指定的类,这个类的实例就在目标进程里面了,然后Injector会调用该实例的一个你指定的方法。接下来你就可以通过一些静态的对象(例如App.Current.MainWindow)来找到你所需要的控件,直接操纵它了。
Ⅱ wpf 控件内 动态添加 控件
//新建Window,把其默认的Grid元素删除,然后
//在Window_Loaded事件里粘贴如下代码
privatevoidWindow_Loaded(objectsender,RoutedEventArgse)
{
Gridg=newGrid();
g.HorizontalAlignment=HorizontalAlignment.Stretch;
g.VerticalAlignment=VerticalAlignment.Stretch;
g.Background=Brushes.Blue;
ScrollViewers=newScrollViewer();
s.Width=100;
s.Height=100;
Labell=newLabel();
l.Content=@"wpf控件内动态添加控件
Oo巴黎迷雾_|分类:C#/.NET|浏览17次
请示范一个简单的完整例子,不是在form里,而是在wpfgrid里的scrollviewer控件添加label控件。";
s.Content=l;
this.AddChild(s);
}
Ⅲ WPF 动态添加控件
这功能实现起很简单啊!!!!
我是通过执行DOC命令完成的。
希望回答能给你带来帮助
如果满意,请采纳,如有疑问,可继续追问。
Ⅳ WPF 如何向用户控件中添加新的控件
自定义控件是继承ContentControl的,也就是说跟Windows一样,只能有一个Child,但是你可以设置这个Child是一个容器控件,比如StackPanel或者Grid等任何可以放多个Child的控件,往这个控件的Children里面添加子元素即可
Ⅵ WPF文件上传方法
恩 文件上传你想要什么形式的?是要把文件或者是图片变成二进制流么
Ⅶ WPF 动态添加控件与设置控件模版
首先呢,DataTemplate作为Resource的一种呢,是用key来被识别的,不用设置name的。
其次我来说一下关于你两个问题的一些看法。
问题一——你这种问法相当于如何在后台对一个控件的Content添加一个控件。一般解决的方法为
后台先创建好listbox,然后赋值 expander1.Content=listbox;
问题二:如何后台指定控件模板。你后台创建一个listbox。 那就可以像一般属性一样赋给它的控件模板呀。
listbox.ItemTemplate = Resources["lbItemTemp"] as DataTemplate;
Ⅷ wpf 自定义控件(CustomControl),用户控件(userControl)的区别及继承方法
窗体继承用usercontrol好些啊,customCcontrol主要是用来继承单独控件的,如combobox,datagrid这些的。customCcontrol修改控件外观的方式是可以访问控件本身template的里的控件,然后可以对其修改样式和增加逻辑。而楼主主要是想继承窗体,窗体是由N多个控件组成的。所以就应该用userControl。
Ⅸ 如何在WPF中嵌入Winform控件
1. 新建一个基于.Net Framework 3.5 的WPF 应用程序项目:WPFWMP。
2. 在工程中新建Windows Forms Control Library 项目:WMPControlLibrary。
创建WMP 控件
下面要在WMPControlLibrary 中创建Windows Media Player 控件,在项目中加入Windows Media Player COM。
在左侧工具栏中若没有Windows Media Player 控件的话,可以右键General 选择Choose Items,在COM 组件列表中勾选Windows Media Player 选项。
将Windows Media Player 控件拖入设计窗口,并将Dock 设置为Fill 填充控件。
F6 编译项目后会生成以下三个DLL 文件,这就是我们稍后将要在WPF 中用到的WMP 控件库。
嵌入WMP 控件
回到WPF 项目在前篇文章的基础上,保留其中“Open File” 按键和Button 样式。将上面三个DLL 文件及System.Windows.Forms、WindowsFormsIntegration 加入项目。
在XAML 中加入AxWMPLib 命名空间,并将上篇MediaElement 替换为AxWindowsMediaPlayer 控件,注意此处是将WinForm 控件嵌入WPF 程序,所以要将AxWindowsMediaPlayer 控件放到<WindowsFormsHost>标签中。
<Window x:Class="WPFWMP.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mediaControl="clr-namespace:AxWMPLib;assembly=AxInterop.WMPLib"
Title="WPF Media Player" Height="450" Width="520" Background="#FF554D4D">
<Window.Resources>
<Style x:Key="btnStyle" TargetType="Button">
… …
</Style>
</Window.Resources>
<StackPanel HorizontalAlignment="Center" Margin="10">
<Border BorderThickness="3" Background="Black">
… …
<WindowsFormsHost Height="340" Width="450">
<mediaControl:AxWindowsMediaPlayer x:Name="wpfMediaPlayer"/>
</WindowsFormsHost>
</Border>
<Button Content="Open File" Click="openFile_Click" Margin="10"
Width="80" Style="{StaticResource btnStyle}"/>
</StackPanel>
</Window>
通过Windows API Code Pack 为“Open File” 按键添加点击事件,默认打开Sample Video 文件夹,选择视频文件后自动播放。
private void openFile_Click(object sender, RoutedEventArgs e)
{
ShellContainer selectedFolder = null;
selectedFolder = KnownFolders.SampleVideos as ShellContainer;
CommonOpenFileDialog cfd = new CommonOpenFileDialog();
cfd. = selectedFolder;
cfd.EnsureReadOnly = true;
cfd.Filters.Add(new CommonFileDialogFilter("WMV Files", "*.wmv"));
cfd.Filters.Add(new CommonFileDialogFilter("AVI Files", "*.avi"));
cfd.Filters.Add(new CommonFileDialogFilter("MP3 Files", "*.mp3"));
if (cfd.ShowDialog() == CommonFileDialogResult.OK)
{
wpfMediaPlayer.URL = cfd.FileName;
}
}
Ⅹ 如何在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"
xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Hosting Windows Forms Control In WPF"
Height="300"
Width="650"
ResizeMode="NoResize"
Loaded="WindowLoadedHandler"
>
< /Window>
3、在XAML编码区实现你想添加的控件:
原文添加的是DataGridView控<wfi:WindowsFormsHost>
<wf:DataGridView x:Name="Dg" Dock="Fill" SelectionMode="FullRowSelect">
</wf:DataGridView>
</wfi:WindowsFormsHost>件: