小编Cra*_*aig的帖子

条件DataTemplate

这是我想要做的.我定义了2个数据模板,它们都引用了不同的用户控件.

<UserControl.Resources>
    <DataTemplate x:Key="myDataTemplate1">
        <Border BorderBrush="Black" BorderThickness="1">
            <myUserControl1 />
        </Border>
    </DataTemplate>
    <DataTemplate x:Key="myDataTemplate2">
            <Border BorderBrush="Black" BorderThickness="1">
                <myUserControl2/>
            </Border>
    </DataTemplate>
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

我使用这些数据模板使用ItemsControl显示项目列表,如下所示:

<ItemsControl x:Name="myItemList" ItemTemplate="{StaticResource myDataTemplate1}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate />
    </ItemsControl.ItemsPanel>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

我希望ItemTemplate有条件地是myDataTemplate1或myDataTemplate1,具体取决于整数变量的值分别为1或2.

我应该使用DataTriggers吗?还是有其他方法可以做到这一点?感谢帮助.

wpf wpf-controls

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

29
推荐指数
2
解决办法
12万
查看次数

在WPF中创建密钥绑定

我需要为Window创建输入绑定.

public class MainWindow : Window
{
    public MainWindow()
    {
        SomeCommand = ??? () => OnAction();
    }

    public ICommand SomeCommand { get; private set; }

    public void OnAction()
    {
        SomeControl.DoSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)
<Window>
    <Window.InputBindings>
        <KeyBinding Command="{Binding SomeCommand}" Key="F5"></KeyBinding>
    </Window.InputBindings>
</Window>
Run Code Online (Sandbox Code Playgroud)

如果我使用一些CustomCommand初始化SomeCommand:ICommand它不会触发.从不调用SomeCommand属性get().

c# wpf

23
推荐指数
3
解决办法
5万
查看次数

log4net中的根记录器是什么

我不太明白root logger的主要功能是什么,如下节所示.与其他伐木工有什么区别?

<root>
  <level value="WARN" />
  <appender-ref ref="RollingLogFileAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)

log4net

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

使用Silverlight 4和Firefox进行Visual Studio调试

尝试在使用Firefox作为浏览器的Visual Studio 2010中调试Silverlight 4应用程序时,我无法遇到任何断点.我收到消息"断点当前不会被击中".

debugging firefox breakpoints visual-studio-2010 silverlight-4.0

15
推荐指数
2
解决办法
6113
查看次数

将iOS 7常量映射到2G,3G,4G,LTE等

看起来好像我们可以在7之前确定iOS上的无线接入技术....如果我错了,请纠正我.

考虑到iOS 7中可用的以下常量,有人可以验证哪个常量映射到通用标准2G,3G,4G,LTE等?

CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS          __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge          __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x        __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE           __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
Run Code Online (Sandbox Code Playgroud)

3g ios lte 4g

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

关注存储库模式和实体框架3.5

我想成为一个更好的开发者......

我正在做的事情:

  1. .Net MVC Framework 1.0
  2. 实体框架3.5

我一直在做一些阅读,我想我想做的是:

  1. 为域中的每个聚合创建存储库.例如,订单存储库将管理订单的OrderItems.
  2. 创建服务层以处理业务逻辑.每个存储库都有一个具有类似方法的相应服务对象.
  3. 在存储库和服务之间创建过去的DTO
  4. 可能会创建ViewModel,这是View要使用的类.

我有一个基础存储库接口,我的聚合存储库接口将实现...

public interface IRepository<T>
    {
        IEnumerable<T> ListAll();
        T GetById(int id);
        bool Add(T entity);
        bool Remove(T entity);
    }
Run Code Online (Sandbox Code Playgroud)

我的订单存储库界面定义如下......随着我对这个学习练习的更多了解,可能还会有其他方法.

public interface IOrderRepository : IRepository<Order>
{
}
Run Code Online (Sandbox Code Playgroud)

我的服务类基本上定义为与存储库相同,除了每个服务实现包括业务逻辑.这些服务将在构造函数中使用一个存储库接口(在本练习中我还没有为IoC做好准备,但我相信这就是我最终要走的路).

  1. 存储库实现将使用Entity Framework从数据库推送和拉取.检索数据时; 这些方法只返回DTO而不是EF生成的对象
  2. 服务(因为我正在调用它们)将控制存储库并执行业务逻辑.您将在控制器中看到这些服务,即_orderService.GetById(1).
  3. 这是我开始翻转的地方并且可以使用一些反馈......我是否应该让我的服务类填充ViewModel类...我应该没有ViewModel类....也许这是从一种类型到另一种类型的过多映射?

我希望得到一些关于我关注问题的方向的反馈意见.

谢谢

asp.net-mvc entity-framework separation-of-concerns repository-pattern

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

HTML元素的自定义属性

可能重复:
在JavaScript的HTML标记中存储任意信息?
使用自定义HTML属性的具体风险是什么?
自定义属性 - 是或不是?

在标准HTML元素上添加自定义属性有什么缺点?

例如:
<intput type ="textbox"id ="MyId"MyCustomeAttribute ="MyData"/>

通过添加MyCustomAttribute,我使文档无效,但实际的实现是什么?这有什么问题,如果有的话?

我将使用Javascript来读取自定义属性的值.

谢谢

html javascript

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

如何使用视图模型的属性创建ActionLink

我有一个带有Filter属性的ViewModel,它具有许多我用来过滤数据的属性

例:

class MyViewModel : IHasFilter
{
     public MyData[] Data { get; set; }
     public FilterViewModel Filter { get; set; }
}

class FilterViewModel
{
    public String MessageFilter { get; set; }
    //etc.
}
Run Code Online (Sandbox Code Playgroud)

这在使用我的视图时工作正常.我可以设置属性,Model.Filter并将它们传递给Controller.我现在要做的是创建一个ActionLink具有与上述格式一起使用的查询字符串.

我的View从上面生成的查询字符串如下所示:

http://localhost:51050/?Filter.MessageFilter=Stuff&Filter.OtherProp=MoreStuff
Run Code Online (Sandbox Code Playgroud)

我需要在网格中每行进入上面视图的不同视图中生成一个ActionLink.

我试过了:

Html.ActionLink(
    item.Message,
    "Index",
    "Home",
    new { Filter = new { MessageFilter = item.Message, }, },
    null);
Run Code Online (Sandbox Code Playgroud)

我也尝试将routeValues参数设置为:

new MyViewModel { Filter = new FilterViewModel { MessageFilter = item.Message, }, },
Run Code Online (Sandbox Code Playgroud)

但是这些不会像上面那样生成查询字符串.

asp.net-mvc actionlink model-binding asp.net-mvc-3

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

Microsoft.Jet.OLEDB.4.0转换字符

我正在使用包含以下字符的CSV:

” and •
Run Code Online (Sandbox Code Playgroud)

我正在通过OleDb阅读CSV,提供者是Microsoft.Jet.OLEDB.4.0.当数据加载到OleDbCommand时,字符将分别转换为以下内容:

“ and •
Run Code Online (Sandbox Code Playgroud)

我怀疑连接字符串中可能有一个排序规则设置,但我无法找到任何相关信息.

我可以确认以下内容:

  1. 我打开它时可以看到CSV中的原始字符.
  2. 如果我通过OleDb WHERE [field] LIKE'%•%'在文件上运行select我得到0行但是如果SELECT WHERE [field] LIKE'%'%'我得到返回的行.

有什么想法吗?

c# sql oledb collation

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