小编win*_*TTr的帖子

TemplateBinding如何在UserControl模板中工作?

我是新创建UserControl的人,现在我正在尝试自定义UserControl模板,如下所示:

<UserControl x:Class="WpfApplication1.PieButton"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300" Loaded="OnLoaded">
    <UserControl.Template>
        <ControlTemplate>
            <Path Name="path" Stroke="Aqua" StrokeThickness="3">
                <Path.Fill>
                    <SolidColorBrush Color="{TemplateBinding Fill}" />
                </Path.Fill>
                <Path.Data>
                ......
</UserControl>
Run Code Online (Sandbox Code Playgroud)

同时我在后端代码中创建了dependencyproperty:

public partial class PieButton : UserControl
{
    public PieButton()
    {
        InitializeComponent();
    }

    private void OnLoaded(object sender, RoutedEventArgs e)
    {

    }



    public Color Fill
    {
        get { return (Color)GetValue(FillProperty); }
        set { SetValue(FillProperty, value); }
    }

    public static readonly DependencyProperty FillProperty =
        DependencyProperty.Register("Fill", typeof(Color), typeof(PieButton));
    ......
Run Code Online (Sandbox Code Playgroud)

我想TemplateBinding在XAML中使用绑定Fill我的PieButton的属性来填充路径对象.Visual Studio Designer警告我"无法访问或识别"填充属性".

根据我的理解, …

wpf xaml user-controls controltemplate templatebinding

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

什么是"脚本名称符号"表示对于emacs set-fontset-font函数?

当我阅读有关的文档时set-fontset-font,我发现有一个如下的句子:

(set-fontset-font NAME TARGET FONT-SPEC和可选的FRAME ADD)

修改字体集NAME以使用FONT-SPEC作为TARGET字符.
...
TARGET可能是脚本名称符号.在这种情况下,请对属于该脚本的所有字符使用FONT-SPEC.
TARGET可能是一个charset.在这种情况下,对字符集中的所有字符使用FONT-SPEC.
...

但我找不到关于"脚本名称符号"是什么的更多信息?
我通过谷歌搜索一些使用'kan'ascii'kana的例子.但我没有找到关于它究竟是什么的任何细节信息?有没有办法列出所有可能的价值?

顺便说一句,
有没有办法列出可用的"charset"的所有可能值set-fontset-font

emacs configuration fonts elisp emacs23

5
推荐指数
2
解决办法
737
查看次数

对于 MVVM,viewmodel 导出模型中的属性进行查看的最佳实践是什么?

作为 WPF 的新手,我最近开始了我的 MVVM 之旅。我可以理解为什么我们需要 MVVM 的原始意图,但一些实现细节仍然让我很困惑。

这是我的问题之一:

我应该如何将属性导出modelViewviaViewModel

我可以在这里展示我的一些想法,所以请与我分享你的观点。

这是我的实现之一:

    class MyModel : INotifyPropertyChanged
    {
        private String _name;
        public String Name
        {
            get { return _name; }
            set 
            {
                if (_name != value)
                {
                    _name = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs("Name"));
                    }
                }
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

    class MyViewModel
    {
        private MyModel _model;

        public MyModel Model
        {
            get { return _model; }
            set { _model = value; …
Run Code Online (Sandbox Code Playgroud)

wpf design-patterns mvvm viewmodel

3
推荐指数
1
解决办法
1487
查看次数

emacs叠加在循环中创建时自动合并

我不确定这是否只是我的代码的一个简单错误.但我无法弄清楚问题是什么,所以请指出来.

aaaaa

(progn 
  (setq ol-list nil) 
  (dolist (pos '(1 2 3 4))
    (let ( (ol (make-overlay pos (1+ pos) (current-buffer))) )
      (overlay-put ol 'display "X")
      (print ol)
      (setq ol-list
            (nconc ol-list (list ol)))
      );; let
    )  ;; dolist
  ) 


(progn 
  (dolist (ol ol-list)
    (delete-overlay ol))
  (setq ol-list nil) ) 
Run Code Online (Sandbox Code Playgroud)

将上面的代码片段放在"lisp-mode"缓冲区的开头,并将eval(Cx Ce)放在每个progn部分.

在我的emacs上,第一个代码部分将"aaaaa"变为"Xa".但我认为结果应该是"XXXXa".那问题出在哪里?

emacs loops overlay elisp

2
推荐指数
1
解决办法
91
查看次数

在lisp中引用符号的确切含义是什么?

(message "%s" 'abc)
(message "%s" "abc")
Run Code Online (Sandbox Code Playgroud)

我发现前两个表达式都是相同的结果(在emacs中).虽然我知道这不是一个显示我的问题的属性示例.

你能解释一下引用符号的确切含义吗?引用的符号会返回什么?变量名称或其他内容的字符串表示形式?

emacs elisp common-lisp

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

删除 C# TextBlock 内联元素填充

关于TextBlockC#中的UIElement,我们可以向Run其中添加多个对象,这些对象将附加到inlines属性中。这是我们在一个 .txt 文件中显示不同格式(字体、大小等)的多段文本的一种方式TextBlock

我的问题是:当我将两个Run对象添加到一个对象中时TextBlock,每个对象之间存在填充Run。例如,我添加“12”和“34”Run对象,最后它们将在视图中显示为“12 34”。但我需要的是它们应该作为一个单词连接在一起 - “1234” - 没有那种填充

我们可以使用任何设置来防止这种填充吗?

c# wpf textblock padding

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