小编Ere*_*rez的帖子

重用DataTemplate

我的Treelistview控件中有两个DataTemplates用于不同的单元格.模板有90%的相似性.如何重用相同的Xaml?

  <DataTemplate x:Key="@names">
            <TextBlock Name="txt" Text="{Binding Names}" Style="{DynamicResource @BasicTextBlockStyle}"
                    Foreground="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Border},AncestorLevel=1}, Path=BorderBrush,Mode=OneWay}" />
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsVisible}" Value="True">
                    <Setter Property="Style" Value="{DynamicResource @HeaderTextBlockStyle}" TargetName="txt" />
                </DataTrigger>
                <DataTrigger Binding="{Binding IsScoped}" Value="True">
                    <Setter Property="Style" Value="{DynamicResource @RootElementTextBlockStyle}" TargetName="txt" />
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>

        <DataTemplate x:Key="@Ages">
            <TextBlock Name="txt" Text="{Binding Age}" Style="{DynamicResource @BasicTextBlockStyle}"
                    Foreground="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Border},AncestorLevel=1}, Path=BorderBrush,Mode=OneWay}" />
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsVisible}" Value="True">
                    <Setter Property="Style" Value="{DynamicResource @HeaderTextBlockStyle}" TargetName="txt" />
                </DataTrigger>
                <DataTrigger Binding="{Binding IsScoped}" Value="True">
                    <Setter Property="Style" Value="{DynamicResource @RootElementTextBlockStyle}" TargetName="txt" />
                </DataTrigger>
            </DataTemplate.Triggers> …
Run Code Online (Sandbox Code Playgroud)

wpf resources styles datatemplate

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

使用"使用"时最后关闭SqlConnection

我想关闭最后的SqlConnection,因为使用并没有真正关闭它,连接池变满了.但是我没有意识到什么是正确的方法,因为conn对象在finally部分中不再可达.

try 
{
    using (var conn = new SqlConnection(_dbconnstr)) 
    {
        //...
    }
}
catch (Exception ex)
{
    //...
}
finally 
{
    conn.Close //?!?!?!?!???
}
Run Code Online (Sandbox Code Playgroud)

.net c# sql

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

wpf图表传奇

如何放大这些矩形?我正在使用wpf工具包图表,我试图使用控件图例,但它没有帮助.

替代文字

wpf charts legend pie-chart

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

如何将转换器参数传递给非硬编码的东西

就像是:

 <TextBlock Text="{Binding Text,Converter={StaticResource
  ccc},ConverterParameter=PersonName}"/>
Run Code Online (Sandbox Code Playgroud)

例如,当人名是该类的属性时.

更新:

我已经看到了一个解决方案,告诉我继承DependencyObject并实现IValueConverter.我想知道是否有更简单的事情.

.net wpf binding converter

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

将复选框拉伸到单元格大小

我正在使用 WPF 并使用带有复选框列的 DataGrid。问题是我希望复选框拉伸并填充单元格

在此处输入图片说明

这是我的 XAML:

 <Grid>
    <Controls:DataGrid ItemsSource="{Binding Persons}" AutoGenerateColumns="False">
        <Controls:DataGrid.Columns>
            <Controls:DataGridTextColumn Binding="{Binding Name}"/>
            <Controls:DataGridTemplateColumn>
                <Controls:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox />
                    </DataTemplate>
                </Controls:DataGridTemplateColumn.CellTemplate>
            </Controls:DataGridTemplateColumn>
        </Controls:DataGrid.Columns>
    </Controls:DataGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

wpf xaml datagrid

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

C#中的HTTP请求

我需要访问一个URL,在所述页面中找到一个特定的文本框 - 用数据填充它,然后提交一个表单.

我怎样才能在C#中实现这一目标?

PS无辜的意图.

c# asp.net http

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

WPF从ListViewItem上的ContextMenu获取引用的项

我有每个有事件的ListViewwith ,如何在事件处理程序中检测到在这个ContextMenu中单击了哪个Item?我需要这个项目.ContextMenuListViewItemClickID

 <Style TargetType="{x:Type ListViewItem}">
Run Code Online (Sandbox Code Playgroud)

...

 <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate TargetType="tv:TreeListViewItem">
                        <Grid>
                            <Grid.ContextMenu>
                                <ContextMenu>
                                    <MenuItem Header="Open in current tab" Click="MenuItemCurrentTab_Click"/>
                                    <MenuItem Header="Open in new tab" Click="MenuItemNewTab_Click"/>
                                </ContextMenu>
                            </Grid.ContextMenu>
Run Code Online (Sandbox Code Playgroud)

wpf contextmenu

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

如何在没有db其表名的情况下检查与DB的连接

这里的要点是我没有数据库表名,所以请不要建议选择一个表来执行它'SELECT COUNT(*)'

c# database ado.net

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

是否有很好的单元测试完整性

我有一个课我需要单元测试.

对于我正在开发c#并使用NUnit的背景,但我的问题更具理论性:

我不知道我是否已经编写了足够的测试方法,如果我检查了所有方案.是否有已知的工作方法/最佳实践/规则集合?

就像是

  • "检查你班上的每一种方法...... bla bla"
  • "检查DB的所有插入... bla bla"

(这是一个可能的规则的愚蠢的例子,但如果我有一些不傻的东西,我不会问这个问题)

c# nunit unit-testing

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

C#Lock语法 - 2个问题

我可以在锁中使用字符串作为锁定器吗?

lock("something")
Run Code Online (Sandbox Code Playgroud)

如果它只有一条线,我可以不用括号锁定吗?

lock("something") foo();
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading locking

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