小编Bob*_*man的帖子

仅在wpf上显示X和最小化按钮

我不希望用户调整窗口大小,所以我做了ResizeMode="NoResize".但是最小化按钮也会消失,只有X按钮可见.有没有办法保持最小化按钮?

.net c# wpf button minimize

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

有条件地隐藏Gridview中的CommandField或ButtonField

我有一个GridView显示人员记录.我想有条件地显示CommandFieldButtonField基于底层记录的某些属性.我们的想法是只允许对特定人员执行命令.

做这个的最好方式是什么?我更喜欢程序性的声明性解决方案.

asp.net gridview

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

asp之前的Javascript:ButtonField点击

我有一个GridView在Asp.net应用程序控制,具有<asp:buttonField>type="image"CommandName="Delete".

在到达OnRowDelete活动之前有没有办法执行一段javascript ?

我想在删除行之前进行简单的确认.

谢谢!

编辑:请注意,<asp:ButtonField>标签不具备OnClientClick属性.

javascript asp.net gridview

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

访问ListView的LayoutTemplate内的控件

如何访问在一个控制LayoutTemplate一个的ListView控制?

我需要进入litControlTitle并设置其Text属性.

<asp:ListView ID="lv" runat="server">
  <LayoutTemplate>
    <asp:Literal ID="litControlTitle" runat="server" />
    <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
  </LayoutTemplate>
  <ItemTemplate>
  </ItemTemplate>
</asp:ListView>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?也许是通过OnLayoutCreated活动?

c# asp.net listview asp.net-3.5

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

索引名称在数据库中是唯一的吗?

索引名称必须在整个sql server数据库中是唯一的,还是仅对于该表?

例如,我应该命名我的索引: IX_OrderLoadCarrierDelivery_OrderLoadID

对于表的OrderLoadIDOrderLoadCarrierDelivery.或者我应该命名它IX_OrderLoadID

谢谢!

sql-server

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

<Collection> .Count是否使用昂贵?

我正在编写一个缓存弹出方法,基本上看起来像这样:

while ( myHashSet.Count > MAX_ALLOWED_CACHE_MEMBERS )
{
    EjectOldestItem( myHashSet );
}
Run Code Online (Sandbox Code Playgroud)

我的问题是关于如何Count确定:它只是一个privateprotected int,或者它是通过每次调用时计算元素来计算的?

c# collections count

23
推荐指数
4
解决办法
3647
查看次数

如何避免子类的工厂方法中的switch-case

假设我们有一系列类(卡片,为了它),我们需要根据一些标识符实例化它们.工厂方法如下所示:

public Card GetCard(int cardNumber) 
{
   switch(cardNumber) 
   {
     case 13: return new King();
     case 12: return new Queen();
     case 11: return new Jack();          
   }

   //...
}
Run Code Online (Sandbox Code Playgroud)

我想要的是避免这种情况switch.为什么?也许我想在功能中重复使用这种比较.

我想出的是这样的:

private Dictionary<int, Type> cardTypes = 
 { 
   {13, typeof(King)},
   {12, typeof(Queen)},
   {11, typeof(Jack)}
 };

 public Card GetCard(int cardNumber) 
 {        
    var cardType = cardTypes[cardNumber];
    var instance = Activator.CreateInstance(cardType);
    return (Card)instance;
 }
Run Code Online (Sandbox Code Playgroud)

但是,此解决方案使用昂贵的反射,并且当您有多个"标识符"时也会出现问题(例如,1和14都给出Ace- 我应该在字典中添加2个键吗?).

这种情况下的最佳做法是什么?

c# design-patterns

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

如何在WPF中实现Checkbox的ListBox?

虽然在编写Winforms应用程序方面有一定的经验,但WPF的"模糊性"在最佳实践和设计模式方面仍然无法实现.

尽管在运行时填充了我的列表,但我的列表框显示为空.

我按照这篇有用的文章的简单说明无济于事.我怀疑我错过了某种DataBind()方法,我告诉列表框我已经完成了修改底层列表.

在我的MainWindow.xaml中,我有:

    <ListBox ItemsSource="{Binding TopicList}" Height="177" HorizontalAlignment="Left" Margin="15,173,0,0" Name="listTopics" VerticalAlignment="Top" Width="236" Background="#0B000000">
        <ListBox.ItemTemplate>
            <HierarchicalDataTemplate>
                <CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}"/>
            </HierarchicalDataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
Run Code Online (Sandbox Code Playgroud)

在我的代码隐藏中,我有:

    private void InitializeTopicList( MyDataContext context )
    {
        List<Topic> topicList = ( from topic in context.Topics select topic ).ToList();

        foreach ( Topic topic in topicList )
        {
            CheckedListItem item = new CheckedListItem();
            item.Name = topic.DisplayName;
            item.ID = topic.ID;
            TopicList.Add( item );
        }
    }
Run Code Online (Sandbox Code Playgroud)

通过追踪,我知道正在填充四个项目.

编辑

我改成TopicListObservableCollection.它仍然无法正常工作.

    public ObservableCollection<CheckedListItem> …
Run Code Online (Sandbox Code Playgroud)

wpf checkbox listbox

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

GMail + C#+ Web.Config:以编程方式发送邮件,使用Web.Config值引发异常

鉴于以下部分Web.Config:

<system.net>
    <mailSettings>
        <smtp deliveryMethod="Network" from="SomeWebsite Admin &lt;someuser@gmail.com&gt;">
            <network host="smtp.gmail.com" port="587" defaultCredentials="true" userName="someuser@gmail.com" password="somepassword" />
        </smtp>
    </mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)

以下代码片段:

                smtp   = new SmtpClient();

                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential( "someuser@gmail.com", "somepassword" );

                smtp.Send( mailMessage );
Run Code Online (Sandbox Code Playgroud)

以上工作正常,但注释程序覆盖,如下所示:

                smtp   = new SmtpClient();

                //smtp.Host = "smtp.gmail.com";
                //smtp.Port = 587;
                smtp.EnableSsl = true;
                //smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                //smtp.UseDefaultCredentials = false;
                //smtp.Credentials = new NetworkCredential( "someuser@gmail.com", "somepassword" );

                smtp.Send( mailMessage ); …
Run Code Online (Sandbox Code Playgroud)

c# authentication gmail smtp web-config

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

我如何使用IComparable接口?

我需要一个如何使用IComparable接口的基本示例,以便我可以按升序或降序排序,并按我正在排序的对象类型的不同字段排序.

.net c# icomparable

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