一个WPF小项目总结

一个WPF小项目总结

这个小项目实际上是一个CHM文件的 浏览器,不过添加了一些附加功能,例如能记住,上一次用户浏览过的内容,能在Windows启动的时候自动启动,切换到的相应的主题等。

基本上左边显示文档的结构数,右边现实选中树结点对应的内容,有个CheckBox让用户选择是否在Windows启动的时候启动。

1.采用Model-View-ViewModel模式

参考文章  http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx

                    http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

 

2.由于WPF的浏 览器控件,不是很好用(老是会有个提示安全问题),所以使用Winform的浏览器控件。

参考文章 http://nayyeri.net/host-windows-forms-controls-in-wpf

 

3.由于Winform浏览器控件不能直接和Url作数据绑定,所以使用DependencyProperty的回调

就是在View上定义注册一个DependencyProperty,并有相应的回调

 

         public static readonly DependencyProperty DefaultUrlProperty =     DependencyProperty.Register("DefaultUrl",      typeof(string), typeof(CHMView),  new FrameworkPropertyMetadata ( new PropertyChangedCallback(OnDefaulUrlChanged)));

 

        public string DefaultUrl

        {

           get

           {

              return (string)GetValue(DefaultUrlProperty);

           }

           set

           {

              SetValue(DefaultUrlProperty, value);

           }

        }

 

 

Template你的ViewModel的时候,将ViewModelUrl属性与该Dependency属性绑定就可以

 

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

                                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

                                     xmlns:vm="clr-namespace:XXXXXX">

 

    <DataTemplate DataType="{x:Type vm:CHMViewModel}">

        <vm:CHMView DefaultUrl="{Binding DefaultUrl}"/>

</DataTemplate>

</ResourceDictionary>

 

 

转载于:https://www.cnblogs.com/caoshenghe/archive/2010/10/07/1844972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以提供一些建议,但最终决定权在您手中。首先,您可以使用WPF将内容绑定到您的自定义日志窗口,以便将日志记录到文件或数据库中。其次,您可以使用WPF的字体控件来显示日志信息,以便更好地控制日志窗口的外观和布局。最后,您可以使用WPF的调试框架来跟踪和记录您的应用程序的状态,以便更好地理解和检查日志窗口的行为。 ### 回答2: WPF(Windows Presentation Foundation)是一种基于.NET框架的应用程序开发平台,可以用来创建丰富的用户界面。在WPF中编写一个log(日志)窗口可以通过以下步骤完成: 1. 首先,创建一个新的WPF应用程序项目,并在主窗口的XAML文件中设计好日志窗口的界面。可以使用Grid布局或者其他容器来容纳日志信息的显示区域和相关控件。 2. 在窗口的代码文件中,定义一个List或ObservableCollection类型的属性,用于存储日志信息。这个属性将作为数据源绑定到界面上的日志显示区域,以实现动态更新。 3. 在窗口的初始化方法中,将该属性绑定到日志显示区域的ItemsSource属性,以实现日志信息的实时显示。 4. 提供一个公共方法或命令,用于向日志中添加新的信息。这个方法将在用户点击按钮或者其他触发事件的时候调用。 5. 在这个方法内部,将新的日志信息添加到日志信息的属性中。可以使用自定义的数据结构或简单的字符串格式保存日志信息。 6. 当属性值发生改变时,界面上绑定的日志显示区域将自动更新,显示新添加的日志信息。 7. 可以考虑增加一些界面上的控件,比如滚动条,以便用户可以方便地查看较长的日志。可以使用ScrollViewer控件将日志显示区域包裹起来,并根据需要设置自动滚动的属性值。 通过以上步骤,在WPF中实现一个简单的log窗口是十分可行的。这个窗口可以用于显示应用程序的运行日志、错误信息等,提高开发调试和错误追踪的效率。 ### 回答3: WPF(Windows Presentation Foundation)是用于构建 Windows 客户端应用程序的一种技术。要用 WPF一个 log 窗口,需要遵循以下步骤: 1. 创建一个 WPF 应用程序项目。在 Visual Studio 中新建项目,选择 WPF 应用程序模板。 2. 在主窗口的 XAML 文件中,布局 log 窗口的外观。可以使用 StackPanel、Grid 或其他布局控件来创建一个容器,用于显示 log 信息。 3. 在代码文件中,定义一个可用于向 log 窗口添加日志信息的方法。可以使用 TextBox 控件来实现。 4. 在定义的方法中,将新的日志信息追加到 TextBox 的 Text 属性中。可以使用字符串拼接或 StringBuilder 等方式。 5. 在应用程序的其他位置,调用这个方法,将需要记录的日志信息传递给 log 窗口。 6. 根据实际需求,可以对 log 窗口进行美化和扩展,例如添加滚动条、日期时间戳等。 7. 在主窗口的 XAML 文件中,添加一个按钮或其他触发事件的控件,用于显示 log 窗口。 8. 为按钮或其他控件的 Click 事件绑定一个函数,在函数中实例化 log 窗口,并显示。 9. 编译和运行应用程序,点击按钮或其他控件时,log 窗口将会显示出来,同时在其他位置添加的日志信息也会在 log 窗口中显示。 总结:通过以上步骤,可以用 WPF 编写一个 log 窗口,用于记录和显示应用程序的日志信息。这个窗口可以在主窗口的一定操作或特定事件发生时进行显示,方便用户或开发者查看和分析日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值