小编PaN*_*1Me的帖子

WPF TemplateBinding与RelativeSource TemplatedParent

这两个绑定有什么区别:

<ControlTemplate TargetType="{x:Type Button}">
   <Border BorderBrush="{TemplateBinding Property=Background}">
      <ContentPresenter />
   </Border>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

<ControlTemplate TargetType="{x:Type Button}">
   <Border BorderBrush="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Background}">
      <ContentPresenter />
   </Border>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

wpf relativesource templatebinding

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

WPF ICommand vs RoutedCommand

让我们有一个Command绑定到自定义命令的按钮属性.

我什么时候应该实施ICommand,何时衍生出来RoutedCommand?我看到RoutedCommand实现了ICommand.

在哪种情况下我需要补充一个ICommand?那么MVVM模型呢?哪一种更适合这个目的?

wpf routedcommand icommand

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

WPF ControlTemplate与UserControl

我最近做了一个UserControl,花了很长时间,因为我不得不使用自定义依赖属性等等...

无论如何,它只是一堆3个控件:TextBox,Popup with Hierarchical Tree.

现在我意识到我可能只能写一个ControlTemplate.那么使用UserControl有什么好处

wpf user-controls mvvm controltemplate

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

ASP.NET Excel导出编码问题

我正在ASP.NET站点上进行一些Excel导出.除了编码之外,一切都有效.当我在Excel中打开它时,它看起来像这样:

Eingabe KostenjeGerätGerät:Gerätebezeichnung:BetriebsmittelHeizÃlinâ€:4 Dieselverbrauchinâ€:4

这是我的代码:

Response.Clear();
Response.ContentType = "application/ms-excel";
Response.AddHeader("Content-Disposition", "inline;filename=NachkalkGeraete.xls;");
var writer = new HtmlTextWriter(Response.Output);

SomeControl.RenderControl(writer); /* FormView, Table, DataGrid... */

Response.End();
Run Code Online (Sandbox Code Playgroud)

我已经尝试过显式设置编码..但没有发生任何变化:

Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=NachkalkGeraete.xls");

Response.BufferOutput = true;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "UTF-8";
EnableViewState = false;

System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);

SomeControl.RenderControl(hw);

Response.Write(tw.ToString());
Response.End();
Run Code Online (Sandbox Code Playgroud)

有什么问题,拜托?

asp.net encoding character-encoding

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

正则表达式中的Notepad ++换行符

假设你有这个文件:

x
a
b
c
x
x
a
b
c
x
x
Run Code Online (Sandbox Code Playgroud)

你想用Notepad ++ 找到序列abc(并选择整行3行).请问如何在正则表达式中表达换行符?

notepad++ find multilinestring

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

ComboBox与空项目?

假设我们有一个DataSource绑定到Database的集合.当然没有空项.如何将void项添加到ComboBox中,以便在第一次加载用户时会看到一个空字符串.我不想在Collection中添加一个dummy/void对象.最适合XAML.有什么建议?

wpf combobox

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

T-SQL外键检查约束

在表中创建外键约束并在MS SQL Management Studio中创建脚本时,它看起来像这样.

ALTER TABLE T1  WITH CHECK ADD  CONSTRAINT FK_T1 FOREIGN KEY(project_id)
REFERENCES T2 (project_id)
GO
ALTER TABLE T1 CHECK CONSTRAINT FK_T1
GO
Run Code Online (Sandbox Code Playgroud)

我不明白的是第二个改变了检查约束的目的是什么.是不是足够创建FK约束?您是否必须添加检查约束以确保参考完整性?

另一个问题:当你直接在列定义中写它时,它会是什么样子?

CREATE TABLE T1 (
my_column INT NOT NULL CONSTRAINT FK_T1 REFERENCES T2(my_column)
)
Run Code Online (Sandbox Code Playgroud)

这不够吗?

t-sql constraints foreign-keys

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

C#DataGridView使用Generic List作为基础源进行排序

我正在使用Windows窗体DataGridView来显示MyObject对象的通用列表.

首先,我将此集合包装到BindingSourceCollection中,然后:

dataGridView.DataSource = myBindingSource;
Run Code Online (Sandbox Code Playgroud)

我想要做的是允许用户通过单击表示MyObject中具体属性的列标题对列进行排序.

我读过一些文章,我应该在绑定之前进行排序.但是,如果我想实时对列进行排序,那么它就无法帮助我.

问题是,我到底需要做什么,所以我可以看到 DataGridView中的排序箭头,我可以对每一列进行排序

c# sorting datagridview

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

C#List <T> vs IEnumerable <T>性能问题

嗨,假设这两种方法:

private List<IObjectProvider> GetProviderForType(Type type)
        {
            List<IObjectProvider> returnValue = new List<IObjectProvider>();

            foreach (KeyValuePair<Type, IObjectProvider> provider in _objectProviders)
            {
                if ((provider.Key.IsAssignableFrom(type) ||
                    type.IsAssignableFrom(provider.Key)) &&
                    provider.Value.SupportsType(type))
                {
                    returnValue.Add(provider.Value);
                }
            }
            return returnValue;
        }

private IEnumerable<IObjectProvider> GetProviderForType1(Type type)
        {
            foreach (KeyValuePair<Type, IObjectProvider> provider in _objectProviders)
                if ((provider.Key.IsAssignableFrom(type) ||
                    type.IsAssignableFrom(provider.Key)) &&
                    provider.Value.SupportsType(type))

                    yield return provider.Value;              
        }
Run Code Online (Sandbox Code Playgroud)

哪一个更快?当我查看第一种方法时,我看到内存是为List分配的,我认为不需要它.该IEnumerable的方法似乎要快给我.

例如,假设你打电话

int a = GetProviderForType(myType).Count;
int b = GetProviderForType1(myType).Count();
Run Code Online (Sandbox Code Playgroud)

现在,另一个问题是,这两个之间是否有性能差异?

你怎么看?

c# performance ienumerable list

17
推荐指数
2
解决办法
3万
查看次数

WPF CollectionViewSource多个视图?

我已经编写了带有搜索扩展名的自定义WPF控件,让我们为它命名MyControl.控制是一个ItemsControl 阶级的后代.

所以我像这样将数据源提供给它:

控件本身使用

protected override void OnItemsSourceChanged(System.Collections.IEnumerable oldValue, System.Collections.IEnumerable newValue)
{
    if (newValue != null)
    {
        ICollectionView view = CollectionViewSource.GetDefaultView(newValue);
        view.Filter += this.FilterPredicate;
    }

    if (oldValue != null)
    {
        ICollectionView view = CollectionViewSource.GetDefaultView(oldValue);
        view.Filter -= this.FilterPredicate;
    }

    base.OnItemsSourceChanged(oldValue, newValue);
}
Run Code Online (Sandbox Code Playgroud)

过滤源集合的视图(从而在内部ListBox中显示它).

现在假设我们在XAML中定义了10个具有相同DynamicSource的MyControl.问题是如果其中一个在源集合上应用Filter,它也会影响所有其他实例.

如何更改控件以避免此行为?

wpf controls filter collectionviewsource

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