WPF作为.Net技术之上开发个性化桌面应用的首选技术方案,已经广为应用。在实际的开发中经常会遇到应用需要适应不同大小的屏幕尺寸,如在Web开发中,我们可以使用Rem单位系统实现自适应,但在桌面开发中的WPF技术之下,该如何实现自适应呢?我们的界面布局是默认采用的1920*1080的分辨率布局的,现在想自动适应不同的分辨率下的屏幕。如textblock宽100,高40,文字是20px,适应到分辨率为1600*900,该如何做才能让textblock看起来没变化。比较好的做法就是使用WPF中的组件ViewBox。只要按照固定值设计layout, 放入固定长宽的canvas/grid中,然后放入v
在使用ListView的时候,无论怎么设置ListView的ListBox.ItemTemplate\DataTemplate都没法使得列表项宽度达到100%,即自动适应父级元素宽度。做过WPF的都知道通过设置HorizontalAlignment =“ Stretch ”一般都可以自动占满宽度,但在ListView的场景下却没有作用。最后查阅资料发现,以下方法简单有效。应该是最优解了。<ListBox ItemsSource="{Binding}"> <ListBox.ItemContainerStyle> <Style
对ListView的事件可以直接写在<ListView 标签内,但在MVVM模式下绑定的列表项的事件捕捉,真费了不少功夫。如果直接使用ListView的点击事件,则不论点击的是不是列表项都会触发事件,并且在后代码中很难做点击的具体项的判断处理。查询微软文档,结果是如下方式设置事件:<!--The Style is defined in a ResourceDictionary, such as Window.Resources--><Style TargetType="ListViewItem"> <EventSetter
错误:命名空间“clr-namespace:*********”中不存在“PlatformViewModel”名称。如果处于Release模式,出现此错误。解决方法:切换Debug模式,重新生成。如果处于Debug模式出现这个错误的时候,切换到Release模式重新生成,再切换回来。 这是Release模式下找不到我们自定义的控件导致的报错。所以切换为Release后生成则可以解决此问题。只是自己的错误解决方案,提供一种解决方法。
IntroductionThe RFM_WPFProgressBarUpdate.cs class allows for easy to implement WPF progress bar updating by three methods: When the value changes On demand When the timer fires, you specify interval in 10ths of a second.The Visual Studio 2010 solutions for the test application can be downloaded from
IntroductionThis article demonstrates how to use a WPF ProgressBar in a "tight code loop".BackgroundFor years, progress bars have been very useful and very easy to use in regular Windows Forms applications. All that was necessary was to set the Minimum and Maximum properties, then incrementally modi
xaml:<Grid> <ListBox Height="100" HorizontalAlignment="Left" Margin="56,65,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" PreviewMouseLeftButtonDown="listBox1_PreviewMouseLeftButtonDown"> <ListBoxItem Content="one" /> <ListBox
Drag&Drop in 6 Steps Detect a drag as a combinatination of MouseMove and MouseLeftButtonDown Find the data you want to drag and create a DataObject that contains the format, the data and the allowed effects. Initiate the dragging by calling DoDragDrop() Set the AllowDrop property to True on the
一、使用SoundPlayer类WPF中,最简单最容易播放音频的方式是使用SoundPlayer类。它是.NET Framework 2.0的一部分,是对Win32 PlaySound API的封装。它具有以下限制:1)仅支持.wav音频文件;2)不支持同时播放多个音频(任何新播放的操作将终止当前正在播放的);3)无法控制声音的音量;下面的代码展示了如何使用SoundPlayer播放声音: SoundPlayer player = new SoundPlayer("BLOW.WAV"); player.Play();传递给SoundPlayer构造函数的字符串可以是本地的一个文件名
public class BaseRequest { public static string OAuthKey;//"OAuthSecret"; public static string OAuthSecret; public const string FORMAT = "json"; public Dictionary<string, string> Params; static BaseRequest() { OAuthKey=Configuration.I