小编Dav*_*mer的帖子

如何从VSPackage获取当前解决方案目录?

以下是如何从加载项获取当前解决方案目录:

_applicationObject = (DTE2)application;  // retrieved from OnConnection method
string solutionDir = System.IO.Path.GetDirectoryName(_applicationObject.Solution.FullName);
Run Code Online (Sandbox Code Playgroud)

你会如何通过VSPackage做到这一点?

我正在将Visual Studio插件迁移到VSPackage,因为我打算添加一些需要与IDE更深入集成的用户控件.

我发现了一些关于加载项与集成包的相对优点的一些很好的参考,例如:http: //nayyeri.net/visual-studio-addin-vs-integration-package-part-1

以及关于VSPackages上的msdn的一些很好的教程,例如:http: //msdn.microsoft.com/en-us/library/cc138589.aspx

我还没有找到关于加载项(例如DTE)中的更高级接口如何映射到VSPackage中的低级接口的良好引用(在msdn或其他方面).

有没有什么好的参考资料来帮助从附加接口到VSPackage接口的一般映射?

c# solution vspackage visual-studio vs-extensibility

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

样式化WPF布局网格背景(每个单元格,行,列)

我想知道是否有任何方式来设置WPF布局网格的单元格,行和列的样式.我一直在努力寻找任何信息,而我发现的一些信息并没有提供相关信息.

我想将网格样式设置为链接屏幕截图中的样式.

如果实际控件不支持它,我可以以某种方式继承它然后执行吗?我对WPF很新,所以任何帮助都会非常感激.

另外一件事,我知道我可以为网格中的每个控件设置样式,但这看起来有点矫枉过正.我想有一个自己做的网格.

截图http://img21.imageshack.us/img21/2842/capturehz8.png

wpf grid xaml styles controltemplates

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

如何在ListView中显示行号?

显而易见的解决方案是在ModelView元素上使用行号属性,但缺点是在添加记录或更改排序顺序时必须重新生成这些属性.

优雅的解决方案吗?

wpf listview

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

如何在WPF ListView(GridView)中创建组页脚

我有一个显示销售订单的ListView,并按状态对它们进行分组.在WinForms中,我在每个组底部都有一个页脚,显示了每个组的总销售价格,我想在WPF中做同样的事情.

我已经想出如何对订单进行分组,但我无法弄清楚如何创建一个页脚.

这是我目前的团体风格:

<ListView.GroupStyle>
            <GroupStyle HidesIfEmpty="True">
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <!--CollectionViewGroup.Name will be assigned the value of Status for that group.-->
                        <!--http://stackoverflow.com/questions/639809/how-do-i-group-items-in-a-wpf-listview-->
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Column="0" Text="{Binding Path=Name}" HorizontalAlignment="Left" FontWeight="Bold"  Foreground="Black"/>
                            <Line Grid.Column="1" Stroke="Black" X2="500" Fill="Black" VerticalAlignment="Center" />
                        </Grid>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
            </GroupStyle>
        </ListView.GroupStyle>
Run Code Online (Sandbox Code Playgroud)

wpf styles .net-3.5

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

WPF DataGrid:如何在单击单元格时停止自动滚动?

问题:
如果我DataGrid不完全可见(显示水平和垂直滚动条)并且我单击其中一个部分可见的单元格,则网格会自动滚动以将该单元格显示在视图中.我不希望这种情况发生.我试过玩RequestBringIntoView,像这样:

private void DataGrid_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

但这没有任何作用.

我试过的事情:

  • 我的细胞是定制的UserControls; 我试图把一个事件处理程序RequestBringIntoView上的所有UserControls使我的细胞,并试图处理事件,想,也许我是不是只是处理做得不够RequestBringIntoViewDataGrid本身.这没用.
  • 举办了DataGrid一个内部的ScrollViewer,而办理ScrollViewerRequestBringIntoView事件.这实际上是有效的,并且停止了自动滚动行为,但在我的情况下托管一个DataGrid内部ScrollViewer是完全不可取的,所以我需要提出一个不同的解决方案.

我不知道如何阻止这种行为,任何想法?

wpf datagrid scroll wpfdatagrid

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

快速执行和线程安全的可观察集合

ObservableCollection为每个对它们执行的操作发出通知.首先,他们没有批量添加或删除调用,其次他们不是线程安全的.

这不会让他们变慢吗?我们有更快的选择吗?有人说ICollectionView缠得ObservableCollection很快?这种说法有多正确.

wpf observablecollection thread-safety icollectionview

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

如何在XAML中设置背景不透明度和边框不透明度?

我有一个TextBox:

<TextBox x:Name="myTextBox"/>
Run Code Online (Sandbox Code Playgroud)

TextBox在后面的代码有两个布尔:

 myTextBox.Background.Opacity = 0;
 myTextBox.BorderBrush.Opacity = 0;
Run Code Online (Sandbox Code Playgroud)

现在这一切都很好,但我如何在XAML中设置这两个属性?

顺便说一下,设定:

<TextBox x:Name="myTextBox" Background="#00FFFFFF"/>
Run Code Online (Sandbox Code Playgroud)

不影响Opacity财产.我想在XAML中专门设置opacity属性.

c# wpf xaml

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

Wpf DataGrid添加新行

我已设法DataGrid显示添加新项目的新行.我现在面临的问题是我希望wpf的其余部分中的数据DataGrid只读,并且只能编辑新行.

目前这是我的DataGrid样子.

<DataGrid AutoGenerateColumns="False" Name="DataGridTest" CanUserAddRows="True" Grid.Row="2" ItemsSource="{Binding TestBinding}" >
    <DataGrid.Columns>        
        <DataGridTextColumn Header="Line" IsReadOnly="True" Binding="{Binding Path=Test1}" Width="50"></DataGridTextColumn>
        <DataGridTextColumn Header="Account" IsReadOnly="True"  Binding="{Binding Path=Test2}" Width="130"></DataGridTextColumn>               
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

但由于我只保留了列的只读,因此新行也会添加为只读,这是我不想要的.

c# wpf datagrid mvvm

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

如何在WPF应用程序中为页面创建模态对话框?

我有一个WPF窗口,其中有一个控件主机框架.在那个框架中,我显示不同的页面.有没有办法只对一个页面进行对话模式?当我显示对话框时,不应该单击页面上的任何控件,但应该可以单击页面上不在同一窗口上的控件.

wpf modal-dialog

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

如何访问ItemsControl的子项?

如果我有一个派生的组件ItemsControl,我可以访问它的子集合,以便我可以循环它们来执行某些操作吗?我现在似乎找不到任何简单的方法.

c# wpf itemscontrol

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