小编Jay*_*Jay的帖子

WPF DataGrid滚动条

我正在尝试在必要时使WPF DataGrid显示滚动条.您可以在下面看到我的用户控件的基本XAML代码:

<Grid x:Name="Data" Grid.Column="0" VerticalAlignment="Stretch" Height="Auto" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Expander Header="Route Setup" Grid.Row="0" VerticalAlignment="Top" Background="White">
</Expander>
<Expander Header="Select Locations" Grid.Row="1" VerticalAlignment="Top" Background="White">
</Expander>
<DataGrid Grid.Row="2" ItemsSource="{Binding Locations, Mode=TwoWay}" Height="Auto" AutoGenerateColumns="False" ScrollViewer.CanContentScroll="True" 
    ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

这不起作用,当DataGrid超出可用空间时,我看不到任何scroolbars.我已经尝试在我的DataGrid周围使用滚动视图,但这并没有改变任何东西.

更新

知道usercontrol加载到LeftRegion具有以下标记的shell中可能很重要:

    <Grid x:Name="LayoutRoot">
    <Grid.ColumnDefinitions >
        <ColumnDefinition Width="*" MinWidth="400" MaxWidth="600"/>
        <ColumnDefinition Width="9" />
        <ColumnDefinition Width="*" MinWidth="300" />
    </Grid.ColumnDefinitions>
    <GridSplitter x:Name="MainSplitter" HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch" Grid.Column="1"
        Margin="0" Width="9" Style="{DynamicResource gridSplitterVerticalStyle}"/>
    <ItemsControl Name="LeftRegion" Grid.Column="0" Background="Azure" Height="Auto" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"  cal:RegionManager.RegionName="LeftRegion">
        <ItemsControl.ItemsPanel> …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml datagrid scrollbar

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

MSBuild引用任务中的DLL

我在.csproj文件中定义了以下内联任务,该文件应运行BeforeBuild.

<UsingTask TaskName="VersioningTask" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
    <FileName ParameterType="System.String" Required="true" />
    <XmlFileName ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
    <Reference Include="System.Xml.dll" />
    <Reference Include="System.Xml.Linq.dll"/>
    <Using Namespace="System" />
    <Using Namespace="System.IO" />
    <Using Namespace="System.Linq" />
    <Using Namespace="System.Text" />
    <Using Namespace="System.Text.RegularExpressions" />
    <Using Namespace="System.Xml.Linq" />
    <Code Type="Fragment" Language="cs"><![CDATA[
        var xDoc = XDocument.Load(XmlFileName);
        //...
Run Code Online (Sandbox Code Playgroud)

从VS2012构建项目时,我收到以下错误:

找不到引用"System.Xml.dll".如果您的代码需要此引用,则可能会出现编译错误.

找不到引用"System.Xml.Linq.dll".如果您的代码需要此引用,则可能会出现编译错误.

如果我删除XML内容和两个引用,则构建成功.我试图使用DLL的完整路径(%windir%/ assembly)而没有任何成功.

这里有任何错误的想法都受到高度赞赏.

msbuild msbuild-task msbuild-4.0 visual-studio-2012

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

为什么在这里使用收益率?

我在开源项目中找到了以下方法:

    static IEnumerable<T> Cat<T>(T t) {
        yield return t;
    }
Run Code Online (Sandbox Code Playgroud)

据我所知,除了返回一个IEnumerable<T>包含之外别无其他t.如果我是对的并且它是虚拟的,例如return new List<T>{t};,yield return在这里使用的目的/优势是什么?如果我错了,我会错过什么?

完整的来源可以在这里找到.

c# yield yield-return

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

在VB.NET中显示unicode字符

我无法在VB.NET中显示unicode字符.

我在C#中这样做:string myString ="\ u03A3"; //大写西格玛(总和)

但它在VB中不起作用,我无法找到使其工作的方法.

.net vb.net unicode

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