小编fly*_*lip的帖子

使用telerik radtreecontrol双击MVVM绑定方法

我一直在努力解决这个问题.尽管我内心的人说"不要这样做",现在是时候问路了.

我使用MVVM设计模式在WPF C#中编码.除非没有选择,否则我们会严格遵守模式并在代码中不加任何内容,否则这样做是完全不合理的.话虽如此,我正在使用Telerik RadTreeView.以下是我的XAML中的一小段内容:

<telerik:RadTreeView IsExpandOnSingleClickEnabled="True" IsLineEnabled="True" Margin="5" 
                                 ItemsSource="{Binding ItemsView}"
                                 SelectedItem="{Binding SelectedWidget, Mode=TwoWay}"
                                 ItemTemplate="{StaticResource NodeTemplate}" />
Run Code Online (Sandbox Code Playgroud)

目前树正常工作,因此如果您突出显示树项并单击视图上的"确定"按钮,则一切都很好.但是,我还需要允许用户双击其中一个树项.这意味着我已经在我的视图模型中有一个命令和方法,受保护的覆盖void OkAction(),具有所需的逻辑.Telerik提供了一个名为ItemDoubleClick的属性,该属性应该为树项双击提供功能.但我找不到任何允许我在视图模型中执行此操作的内容.换句话说,我该如何进行绑定?我们的项目中还有一个行为设置,用于双击,我被告知可以使用,但我没有行为经验.WPF我还是有点湿.

如果有帮助,这里是Telerik文档的链接:http://www.telerik.com/help/wpf/radtreeview-events-overview.html

我将不胜感激,任何人都可以提供帮助或指导.

试试看斯坦:

<Grid.Resources>
            <DataTemplate x:Key="WidgetTemplate">
                <StackPanel Orientation="Horizontal">
                    <Image Source="/Resources/gear1.png" Margin="1" Stretch="None" />
                    <TextBlock Text="{Binding Name}" VerticalAlignment="Center" Margin="6,0,0,0" />
                </StackPanel>
            </DataTemplate>

            <HierarchicalDataTemplate x:Key="NodeTemplate" ItemsSource = "{Binding Children}" ItemTemplate="{StaticResource WidgetTemplate}">
                <TextBlock Text="{Binding Name}"/>
            </HierarchicalDataTemplate>

        </Grid.Resources>
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml telerik mvvm

6
推荐指数
1
解决办法
3652
查看次数

如何更新DrawingImage中的颜色

我们的应用程序已转换为使用DrawingImage范例使用矢量图像.我想在DrawingImage变量中制作颜色/画笔,并且没有运气.

为什么:我这样做的理由是我们在应用程序中使用主题,并且我想在主题更改时更改所有图像.从技术上讲,我只想改变颜色而不是图像.

我做了什么:我已经声明颜色(我说颜色因为图像中使用了不同类型的笔/画笔)作为DynamicResource连接到定义的画笔然后尝试通过绑定更新该画笔我不喜欢没有改变.我还尝试通过绑定它来重绘图像,然后在ApplicationThemeChanged事件触发时重绘它.这仍然不起作用让我感到惊讶.

侧面注意:我主要想在按钮中执行此操作,并扩展了Button类以增加功能,将其称为VectorButton.我的观点是,我有一个VectorButton.cs文件可用于进行更改.

如果您需要任何具体的代码示例,请询问,我会发布.我认为这很不言自明.

提前感谢您的帮助!

DrawingImage示例(我在主题更改时交换ResourceDictionaries.每个资源字典都有PrimaryColor的副本,但具有不同的颜色值.)

    <DrawingImage x:Key="myVectorIconDrawingImage">
        <DrawingImage.Drawing>
            <DrawingGroup>
                <DrawingGroup.ClipGeometry>
                    <RectangleGeometry Rect="0,0,744.09448,1052.3622" />
                </DrawingGroup.ClipGeometry>
                <DrawingGroup>
                    <GeometryDrawing Brush="{DynamicResource PrimaryColor}">
                        <GeometryDrawing.Pen>
                            <Pen Brush="{DynamicResource PrimaryColor}" Thickness="1" StartLineCap="Flat" EndLineCap="Flat" LineJoin="Miter" />
                        </GeometryDrawing.Pen>
                        <GeometryDrawing.Geometry>
                            <PathGeometry FillRule="EvenOdd" Figures="M239.0625,299L239.0625,349 289.0625,349 289.0625,299 239.0625,299z M309.5625,299.5L309.5625,348.53125 507.59375,348.53125 507.59375,299.5 309.5625,299.5z M239.0625,384L239.0625,434 289.0625,434 289.0625,384 239.0625,384z M309.5625,384.5L309.5625,433.53125 507.59375,433.53125 507.59375,384.5 309.5625,384.5z M239.0625,469L239.0625,519 289.0625,519 289.0625,469 239.0625,469z M309.5625,469.5L309.5625,518.53125 507.59375,518.53125 507.59375,469.5 309.5625,469.5z" />
                        </GeometryDrawing.Geometry>
                    </GeometryDrawing>
                </DrawingGroup>
            </DrawingGroup>
        </DrawingImage.Drawing>
    </DrawingImage>
Run Code Online (Sandbox Code Playgroud)

c# wpf themes mvvm

5
推荐指数
1
解决办法
185
查看次数

如何从 WPF 扩展工具包正确实现忙碌指示器

好吧,我已经在这个问题上挣扎了相当长一段时间,并且阅读了一篇又一篇文章,试图了解这个问题。我正在尝试实施忙碌指示器,但只取得了部分成功。我有一个用 BusyIndi​​cator 包装的 Shell 视图,如下所示:

<Window x:Class="Foundation.Shell"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="clr-namespace:Library.Controls.Views;assembly=Library"
    xmlns:l="clr-namespace:Library.StaticClasses"
    xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
    Name="ShellView"
    Style="{StaticResource BusyWindowStyle}"
    SourceInitialized="Window_SourceInitialized"
    DataContext="{StaticResource ShellVM}">

    <xctk:BusyIndicator x:Name="ShellBusyIndicator" IsBusy="{Binding IsBusy}"  DisplayAfter="0">
        <Grid>
            <!--Content Here -->
        </Grid>
    </xctk:BusyIndicator>
Run Code Online (Sandbox Code Playgroud)

遵循 MVVM 模式,我有一个 ShellViewModel,如下所示:

public class ShellViewModel : ViewModelBase
{
    #region constructor(s)

    public ShellViewModel()
    {
        StateManager.IsBusyChange += new StateManager.IsBusyHandler(IsBusyEventAction);
    }

    #endregion constructor(s)

    #region properties

    private bool _IsBusy;
    public bool IsBusy
    {
        get
        {
            return _IsBusy;
        }
        set
        {
            if (_IsBusy != value)
            {
                _IsBusy = value;
                OnPropertyChanged("IsBusy");
            }
        }
    }

    private …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm wpftoolkit

4
推荐指数
1
解决办法
1万
查看次数

如何扩展Entity Framework 6模型

我试图扩展EF 6代码的第一个模型,我收到一个错误.我搜索过,找不到有关该问题的更多信息.我在同一名称空间中创建了一个与我的模型同名的部分类.这是我的模型和扩展:

型号 -

namespace DataAccess.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("Vehicle")]
    public partial class Vehicle
    {
        public Vehicle()
        {
            WorkOrders = new HashSet<WorkOrder>();
        }

        public int VehicleID { get; set; }

        public int CustomerID { get; set; }

        [StringLength(17)]
        public string VIN { get; set; }

        public int Mileage { get; set; }

        [StringLength(4)]
        public string Year { get; set; }

        [StringLength(50)]
        public string Make { get; set; }

        [StringLength(50)]
        public string Model …
Run Code Online (Sandbox Code Playgroud)

c# wpf entity-framework-6

4
推荐指数
1
解决办法
1518
查看次数

标签 统计

c# ×4

wpf ×4

mvvm ×3

entity-framework-6 ×1

telerik ×1

themes ×1

wpftoolkit ×1

xaml ×1