小编Red*_*dog的帖子

如何在TableLayoutPanel中对齐TextBox和Label?

我已经阅读了一些关于此的文章,但似乎没有任何帮助.在以下情况下,如何对齐标签和文本框:

 Using frm As New frmWithTableLayout
     frm.TableLayoutPanel1.ColumnCount = 2
     frm.TableLayoutPanel1.RowCount = 3

     'create report Type'
     Dim lblReportType As New Label
     lblReportType.Text = "Report Type"
     lblReportType.Dock = DockStyle.Right
     Dim reportType As New System.Windows.Forms.TextBox()
     reportType.Text = "Income"
     frm.TableLayoutPanel1.Controls.Add(lblReportType, 0, 0)
     frm.TableLayoutPanel1.Controls.Add(reportType, 1, 0)
 End Using
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net winforms

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

WPF数据绑定 - 对于具有验证规则的所有绑定,将NotifyOnValidationError设置为true

在我的WPF应用程序,我想设置NotifyOnValidationErrortrue(框架默认其为假)的所有子控件/绑定,如果他们有附加到绑定任何ValidationRules.实际上,指定其他绑定默认值也会很好 - 例如ValidatesOnDataErrors,也应始终为true.

例如,在下面的文本框中,我不想手动指定NotifyOnValidationError属性.

<TextBox>
    <TextBox.Text>
        <Binding Path="PostalCode" 
                 ValidatesOnDataErrors="True" 
                 NotifyOnValidationError="True">
            <Binding.ValidationRules>
                <rules:PostalCodeRule />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)

.net wpf binding

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

实体框架 - 插入具有多个模型和数据库的实体

我将我的域拆分为多个Entity Framework模型.我有一些跨多个模型的共享实体(名为Lookup),但是,使用在实体框架中使用大型模型中描述的方法将这些实体替换为"使用"引用.然而,让我的案例稍微独特的是,我还将这些模型分成多个数据库(每个模型一个).

我在将一个共享实体插入公共数据库时遇到问题.它失败了,错误:

元数据集合中不存在具有标识"Harmony.Members.FK_ResidentialAddress_ResidenceTypeLookup"的成员.

它所指的外键在"公共DB"上存在.但我也没有在关系的另一端(命名为ResidentialAddress)与实体合作; 我甚至没有包含初始化的其他实体的上下文(名为MembersDb).但是,两个模型都编译到同一个程序集中.

Lookup到ResidentialAddress 没有导航属性.虽然在另一个方向有一个导航属性(我不会坚持 - 只在内存中使用).

MetadataWorkspace对于EntityConnectionCommonDb上下文的显式初始化仅使用SSDL/CSDL/MSL来获取该数据库所需的数据.我已经确认没有引用该组架构数据中提到的外键.

var metaAssembly = typeof(CommonDb).Assembly;
var schemaResources = new string[]
{ 
    String.Format("res://{0}/Common.ssdl", metaAssembly.FullName), 
    String.Format("res://{0}/Common.csdl", metaAssembly.FullName), 
    String.Format("res://{0}/Common.mdl", metaAssembly.FullName), 
}
MetadataWorkspace metadata = new MetadataWorkspace(schemaResources, new []{ metaAssembly });
EntityConnection connection = new EntityConnection(metadata, myDatabaseConnection);
Run Code Online (Sandbox Code Playgroud)

可能的CLUE:当我进入生成的类并删除所有EdmRelationshipAttribute属性以及EdmRelationshipNavigationPropertyAttribute从相关模型(MembersDb)配对时,它确实有效.

关键问题:

  1. 那么为什么实体框架试图对一个既不在范围内也不会受到记录插入影响的实体的关系做一些事情呢?

  2. 我很高兴让生成的代码删除上面提到的属性,但我仍然希望保留导航属性.我将如何改变CSDL来实现这一目标?

注意:"子"模型的持久性不是优先级,它们现在的跨数据库外键的完整性也不是优先级.这些数据库使用SQL CE保留,但它们最初是从单个主SQL Server数据库生成的.

.net c# entity-framework ado.net-entity-data-model entityreference

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

WPF中的编号列表

我正在尝试在基于WPF的UI中创建带编号的列表(带有子列表)。我知道BulletDecorator要创建项目符号列表,我希望编号列表可能有类似的东西。

我希望实现以下目标:

  1. 项目清单
  2. 项目清单

    a)子清单项目

    b)子清单项目

  3. 项目清单

理想情况下,我还希望对编号格式进行一些控制,以启用字母的使用(例如为子项目显示)。

.net c# wpf wpf-controls

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

OrderBy在Nullable <int>上,在Entity Framework中有一个默认值

我们正在迁移一些代码以使用Entity Framework并且有一个尝试对Nullable字段进行排序的查询,并提供一个默认排序值,使用Nullable.GetValueOrDefault(T)函数将值设置为null .

但是,执行时它会返回以下错误:

LINQ to Entities无法识别方法'Int32 GetValueOrDefault(Int32)'方法,并且此方法无法转换为存储表达式.

查询看起来像:

int magicDefaultSortValue = 250;
var query = context.MyTable.OrderBy(t => t.MyNullableSortColumn
                                          .GetValueOrDefault(magicDefaultSortValue));
Run Code Online (Sandbox Code Playgroud)

这个答案我可以看到有一种方法可以在您的EDMX中提供"翻译".我们可以为这个合并函数编写类似的翻译吗?

注意:当我尝试时,??合并操作符而不是查询中的GetValueOrDefault它确实有效.那么也许是什么使得这项工作可以被利用?

.net c# linq-to-entities entity-framework

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

当DropDownStyle是DropDown时,ComboBox Cue Banner不是斜体

我们有一个WinForms控件,它是一个扩展版本,ComboBox在没有选择或文本时支持"cue banners"(又名水印).我们的控制与使用CB_SETCUEBANNER的实现类似.

但是,当我们DropDownStyle为控件设置ComboBoxStyle.DropDown(也就是说,也允许自由文本输入)时,cue横幅显示,而不是斜体(这通常是如何显示).

有谁知道如何在ComboBoxStyle.DropDown模式中以斜体绘制一个组合框的提示横幅???

.net c# combobox winforms-interop winforms

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

WPF验证装饰器 - 仅显示控件之前是否保持焦点

在我的WPF应用程序中,我只希望在用户编辑/输入/聚焦控件之后显示验证装饰器.这样,用户有机会向该字段提供有效输入,并且只有当他们选择不这样做时,才会显示验证.

我们希望鼓励完成每个字段,以便在表单首次打开时指示必填字段可以规避,因为用户将立即倾向于完成他们需要的内容以便摆脱可能也绕过的大红色验证错误形式的流动.

有没有办法知道控件是否已关注?附属财产可能有用吗?

如果它有助于提供更具体的响应:这是我当前的验证样式,显示红色边框[如果控件有边框]和带有错误消息工具提示的小感叹号(非常标准):

<Style TargetType="Control">
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="ToolTip"
                    Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                    Path=(Validation.Errors).CurrentItem.ErrorContent}"/>

            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <DockPanel LastChildFill="true">
                            <Image Source="../Resources/Icons/Error.ico" Margin="4" Width="15" ToolTip="{Binding ElementName=customAdorner, Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" />
                            <AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
                                <Border BorderBrush="red" BorderThickness="1" Visibility="{Binding ElementName=customAdorner, Path=AdornedElement.BorderThickness, Converter={StaticResource hasBorderToVisibilityConverter}}" />
                            </AdornedElementPlaceholder>
                        </DockPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Trigger>
        <Trigger Property="IsVisible" Value="False">
            <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
        </Trigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

.net validation wpf adorner

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

使用Unity调用静态注入方法

我们有一个类(实际上很多)有一个静态初始化函数,它需要在依赖注入容器中的对象上执行(使用Unity).

public class MyClass
{
    public static void InitializeMappings(IMapper mapper)
    {
        // Do stuff to mapper
    }
}
Run Code Online (Sandbox Code Playgroud)

我想InitializeMappings在Unity容器实例化新的IMapper实例时调用该函数.

我需要帮助:

  • InitializeMappings从容器中调用该函数
  • 解析mapper函数调用的参数
  • 将调用连接InitializeMappings到IMapper实现的生命周期

我将如何实现/定义这个?

c# dependency-injection unity-container

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