小编mic*_*ael的帖子

WPF UserControl样式 - 如果控件位于外部程序集中,如何从父项设置样式?

基本上我有以下结构:

<Window ...
        xmlns:my="http://schemas.company.com/WPF/Controls"
        >
    <Window.Resources>
        <Style x:Key="MyStyle1" TargetType={x:Type TextBlock}>
            ...
        </Style>
    </Window.Resources>
    <Grid x:Name="LayoutRoot">
        <my:MyUserControl1 />
        <my:MyUserControl1 />
        <my:MyUserControl2 />
        <my:MyUserControl2 />
    </Grid>
</Window>

<UserControl ...
             >
    <TextBlock Style={ ?? What Goes Here ??} />
</UserControl>
Run Code Online (Sandbox Code Playgroud)


如何应用在Window资源中声明的样式,以便它转到从外部程序集中提取的UserControl?

wpf resources user-controls styles

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

WCF - 抛出异常或FaultException?

什么更有效率?抛出异常或抛出错误......我看到的方式是有两种情况:

  1. 发生异常并被捕获,您是否抛出现有的Exception或创建一个新的FaultException并抛出它?

  2. 您自己的逻辑(例如用户名不能为空)需要将错误抛出为Exception或FaultException.你选哪个?

基本上,哪种方式是最佳实践方式?我问,因为我记得在某处读到有关WCF装箱或拆箱的异常,并且它需要花费额外的资源等...所以我猜也是,这是更有效的方式?

wcf exception fault faultexception

7
推荐指数
2
解决办法
5282
查看次数

C#:如何绕过完全限定路径的260个字符限制?

可能重复:
为什么Windows中存在260个字符的路径长度限制?

我正在试图找到一种方法来绕过这个可怕的260个字符的完全限定路径限制,同时我想知道为什么到底有一个路径限制开始!?我知道有些人260似乎"很多",但事实上我并没有遇到这个问题.

基本上:
为什么必须有字符限制?
怎么绕过它呢?

c# filepath

6
推荐指数
2
解决办法
9916
查看次数

WPF:如何在横向模式下打印?

发现这个功能在线,效果很好......除了我无法弄清楚如何默认它在横向打印.

private void PrintClick(object sender, RoutedEventArgs e)
{
  PrintDialog dialog = new PrintDialog();
  if (dialog.ShowDialog() == true)
  { dialog.PrintVisual(_PrintCanvas, "My Canvas"); }
}
Run Code Online (Sandbox Code Playgroud)

如何实际设置默认值以将我的wpf内容打印到横向模式?

printing wpf landscape

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

Enterprise Architect:C#可选参数?

让Enterprise Architect识别C#中的可选参数的任何选项?

我试图导入现有代码并收到以下错误:

在第30行解析C:\ MyProject\FooBar.cs时出错.意外的符号:=

码:

public void Foo(int bar = 1) //Line 30
{
}
Run Code Online (Sandbox Code Playgroud)

我还尝试从头开始并从Enterprise Architect生成代码.我创建了一个类,然后向该类添加了一个操作并定义了参数.编辑参数的表单允许我提供"名称","类型"和"默认"(以及其他信息).我添加了Name:bar,Type:int,默认值:1.然后,当我生成代码时,这就是我得到的(没有生成可选参数!)

namespace System {
    public class FooBar {

        /// 
        /// <param name="bar"></param>
        public void Foo(int bar){

        }

    }//end FooBar

}//end namespace System
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

c# code-generation optional-parameters enterprise-architect

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

XML注释 - 如何(或在何处)为命名空间和库创建XML注释?

我理解,如果您///在类,字段,方法或属性之上,Visual Studio将开始为您创建XML样式的注释.

但是,我在哪里可以为我的命名空间和/或库添加XML注释...

例如:

我不确定这些页面是手动创建的,还是通过在适当的位置添加XML样式的注释自动创建的?

.net sandcastle assemblies namespaces xml-comments

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

WPF选择器 - 如何确保它只允许单个选择而不是多个选择?

基本上,我有一个控件,我想从Selector类扩展.我知道Selector允许选择多个子项,但我不希望这样.我只希望一次选择一个孩子.

是否有一个我在Selector类中没有看到的设置区分允许的单个/多个选择,或者是由我编写的扩展Selector类的类控制的东西?

c# wpf selector multi-select

6
推荐指数
2
解决办法
2272
查看次数

WPF数据验证?有没有比IDataErrorInfo更好的东西?

是否有一种首选做法是从ViewModel中进行数据验证?

调查一下,有些人似乎更喜欢IDataErrorInfo,有些人更愿意推出自己的验证框架(http://www.codeproject.com/KB/WPF/wpf_custom_validation.aspx)?

我想知道数据验证的"最佳实践"是什么?在遵守MV-VM指南时,社区是否接受了某些内容?

哦,还有一个FYI,我使用Prism作为我的MVVM框架,但我认为它没有任何用于验证帮助的代码.

validation wpf mvvm idataerrorinfo

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

代码合同:确保未经证实并且需要未经证实

我不确定我在这里做错了什么,或者是否需要修复......

我有一个自定义的Dictionary包装类,这里是一段必要的代码片段.

public int Count
{
    get
    {
        Contract.Ensures(Contract.Result<int>() >= 0);

        return InternalDictionary.Count;
    }
}

public bool ContainsKey(TKey key)
{
    //This contract was suggested by the warning message, if I remove it
    //I still get the same warning...
    Contract.Ensures(!Contract.Result<bool>() || Count > 0);

    return InternalDictionary.ContainsKey(key);
}
Run Code Online (Sandbox Code Playgroud)

唯一的原因,我添加了的containsKey行是因为我得到了下面的警告消息(现在仍然如此)Codecontracts: ensures unproven: !Contract.Result<bool>() || @this.Count > 0.我可以删除这一行并仍然得到相同的问题!

我该怎么做才能摆脱这些问题?


更新:

我也试过(按照建议)......

public Boolean ContainsKey(TKey key)
{
    Contract.Requires(Count == 0 || InternalDictionary.ContainsKey(key));
    Contract.Ensures(!Contract.Result<bool>() || Count > 0);

    return InternalDictionary.ContainsKey(key);
}
Run Code Online (Sandbox Code Playgroud)

警告5方法'My.Collections.Generic.ReadOnlyDictionary …

c# idictionary code-contracts

6
推荐指数
2
解决办法
1484
查看次数

是否存在太多WCF服务?

我有点问题,我不确定如何解决它.我有我的模型组件,其中包含大约200个不同的业务对象(订单,客户,产品等).

当有人想要获得订单时,我不想返回整个对象图.相反,我想简单地返回对象和延迟加载(甚至异步加载)其他部分.这似乎会导致许多"获取(对象名称)"服务:

  • GetOrder(int id)
  • GetCustomer(int id)
  • GetProduct(int id)
  • 等等

我不想创建200种不同的方法,每种方法对应一次Get操作.我意识到我可以做类似的事情GetObject(string type, int id),然后以某种方式使用反射来获得适当的对象,但我认为这更糟糕(可能).

相反,如果我使用T4模板自动完成创建每个不同服务的工作,那会更好......但它仍然让我担心一件事...... 性能.

是否有暴露200多种不同的服务(每个对象一个)?

c# performance wcf

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