小编mak*_*akc的帖子

Windows 8中的WinRT和WPF

据我了解,WinRT是不使用底层Win32 API编写的WPF的不同版本.

WinRT和WPF的关系是什么?WPF是否可以在Windows 7的Metro下工作,还是会推出经典桌面?

从主题演讲中不太清楚.如果安装了Windows 8的人可以确认它的行为.

谢谢

wpf windows-8 windows-runtime

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

WPF Datepicker禁用用户输入

我有一个datepicker,但它允许我输入任何文本.我想禁止用户输入文字.应允许用户从日历中选择日期.

<Window x:Class="MyTestForDatePicker.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <!--<Grid>-->
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition Width="auto"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <DatePicker Grid.Column="0" Grid.Row="0" Margin="2" Name="MySelectedDate"     VerticalContentAlignment="Center" ></DatePicker>
        <DatePickerTextBox Grid.Column="1" Grid.Row="3" Margin="2" Name="SelectedDate"   IsReadOnly="True"></DatePickerTextBox>
        <Button Grid.Column="1" Grid.Row="1" Margin="100,102,203,154" VerticalContentAlignment="Center" Name="Ok" Click="Ok_Click_1"/>
    </Grid>
Run Code Online (Sandbox Code Playgroud)

wpf datepicker

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

Linq to Objects链接哪个子句VS &&性能命中是微不足道的?

以下问题:
我应该在LINQ查询中使用两个"where"子句或"&&"吗?
可以或者我应该在LINQ查询中将两个Where子句连接在一起吗?
linq样式,链接where子句vs和运营商
Jon Skeet:博客文章

大多数答案都表示,Linq To Objects在单个lambda表达式中链接where子句vs && 的性能可以忽略不计,因此可以根据您的编码风格决定使用哪一个.

我从查看IL程序集开始,你可以肯定地看到chaining where子句将导致Where扩展被调用2次而第二次调用的输入是第一次调用的结果.

var numbers = new List<int>() { 1, 2 ,3,4,5,6,7,8,9,10};
IEnumerable<int> query = numbers.Where(x=> x>2).Where(x => x<5);
Run Code Online (Sandbox Code Playgroud)

// IL

IL_005B:  ldloc.0     // numbers
IL_005C:  ldsfld      UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_0061:  brtrue.s    IL_0076
IL_0063:  ldnull      
IL_0064:  ldftn       b__1
IL_006A:  newobj      System.Func<System.Int32,System.Boolean>..ctor
IL_006F:  stsfld      UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_0074:  br.s        IL_0076
IL_0076:  ldsfld      UserQuery.CS$<>9__CachedAnonymousMethodDelegate3
IL_007B:  call        System.Linq.Enumerable.Where <-----------First Call
IL_0080:  ldsfld      UserQuery.CS$<>9__CachedAnonymousMethodDelegate4
IL_0085:  brtrue.s    IL_009A
IL_0087:  ldnull      
IL_0088:  ldftn       b__2
IL_008E:  newobj      System.Func<System.Int32,System.Boolean>..ctor
IL_0093: …
Run Code Online (Sandbox Code Playgroud)

.net c# performance linq-to-objects

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

C++/Cli:无法加载文件或程序集X或其依赖项之一.不是有效的Win32应用程序.(HRESULT异常:0x800700C1)

我有一个C++项目,一个C++\Cli项目和一个ac#win forms项目.
当我从win forms项目访问cli项目时,我可以访问和使用cli项目功能.但是当我将我的cpp项目头包含到cli项目中时,当我访问cli项目时,我从c#项目中得到这个运行时错误.

  CliWrapper.Func meta = new CliWrapper.Func();
Run Code Online (Sandbox Code Playgroud)

这是我犯的错误:

BadImageFormatException:无法加载文件或程序集X或其依赖项之一.不是有效的Win32应用程序.(HRESULT异常:0x800700C1)

我意识到#include <boost/thread.hpp>导致问题

boost c++-cli boost-thread

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

WPF应用程序性能

如何配置WPF应用程序?我是初学者C#开发人员,所以我确信我会犯一些错误/不良做法,我应该通过分析来改变它.

有没有办法可以看到所有方法的堆栈调用(只有我编码的,而不是.NET库函数)以及每种方法的执行持续时间?

.net c# wpf profiler mvvm

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

以编程方式检查应用程序正在使用的核心数

有没有办法以编程方式检查C++应用程序使用的内核数量?

我正在寻找Windows/Linux解决方案,但当然平台无关的解决方案会更好,我猜它要求太多.

c++ multicore

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

Wpf 事件不冒泡

这是我的 XAML:

<Window x:Class="WpfApplication4.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="844.025" Width="678"  MouseUp="somethingClicked">
<Grid MouseUp="somethingClicked">
    <StackPanel MouseUp="somethingClicked" Margin="0,0,10,0">
    <Button x:Name="btnClickMe" Content="Click Me!" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="101,22,0,0" MouseUp="somethingClicked"/>
        <CheckBox x:Name="chkhandle" Content="CheckBox" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="241,28,0,0" RenderTransformOrigin="-0.588,1.188"/>
        <ListBox x:Name="lstEvents" HorizontalAlignment="Left" Height="604" VerticalAlignment="Top" Width="416" Margin="29,66,0,0"/>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这是 C# 代码:

namespace WpfApplication4
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    protected int eventCounter = 0;

    public MainWindow()
    {
        InitializeComponent();
    }

    private void somethingClicked(object sender, RoutedEventArgs e)
    {
        eventCounter++; …
Run Code Online (Sandbox Code Playgroud)

c# wpf events

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

WPF:在 ListView 中展开/折叠项目

我有以下列表视图:

没有层次结构的ListView

单击父行中的红色按钮时,我想显示从属行。第二次单击时,行应再次隐藏。

我是 WPF 新手,不知道 1. 如何获得可展开/可折叠的行以及 2. 如何在父行和子行之间创建关系。

我的 XAML 如下:

<ListView Name="lvUpgrade">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="20px">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Image Source="{Binding Path=Icon}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Width="75px" DisplayMemberBinding="{Binding Path=Time, StringFormat={}{0:HH:mm:ss}}" />
            <GridViewColumn Width="300px" Header="Nachricht" DisplayMemberBinding="{Binding Path=Message}" />
        </GridView>
    </ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)

背后的代码:

Public Class Upgrade

    Public Sub AddMessage(ByVal message As Message)
        Me.lvUpgrade.Items.Add(message)
    End Sub

    Public Class Message

        Public Enum MessageType

            Normal
            Information
            Success
            Warning
            [Error]
        End Enum

        Public Sub New(ByVal type As MessageType, ByVal message As String)
            _Type = …
Run Code Online (Sandbox Code Playgroud)

wpf listview expandablelistview

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

在List <T>中搜索匹配的2列

我想在List中存储对象,因此创建了一个具有3个属性的类; PROP1.prop2和prop3.

要将新项目添加到我正在使用的列表中,例如

_st.Add(new Bld(100,20,"Test1");
_st.Add(new Bld(101,20,"Test2");
_st.Add(new Bld(102,54,"Test3");
Run Code Online (Sandbox Code Playgroud)

现在:如何搜索列表以获取包含的项的索引myObj.prop2 = 20 AND myObj.prop3="Test1"

我尝试过类似的东西

_st.Where(tk => tk.prop1 == 1000 AND tk.Title == "Test1");
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用.

知道如何解决这个问题吗?

提前致谢

c# linq list

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

将WPF应用程序与WinForm应用程序集成

我有一个完全用VB.NET编写的winForms应用程序.我必须开始将此应用程序导入WPF编写的C#中.对于启动,我想仅对应用程序的一个模块执行此操作.有什么办法可以将VB.NET对象传递给C#代码,从WinForms应用程序调用WPF应用程序,反之亦然?

我该如何处理这个问题?任何帮助,将不胜感激.

c# vb.net migration wpf winforms

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