小编Mis*_*sky的帖子

如何在 XAML 中绑定列表视图的项目数

我在将计数绑定到文本块时遇到问题。

我有一个列表视图,它的项目绑定到用户对象属性。我想获取绑定的所有项目的数量。

这是我的列表视图:

<ListView ItemsSource="{Binding Users}" x:Name="lvUsers">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ListViewItem IsHitTestVisible="False">
                <StackPanel>
                    <facebookControls:ProfilePicture Height="74" Width="74" ProfileId="{Binding FacebookId}" />
                    <TextBlock Text="{Binding UserName}" FontSize="18" HorizontalAlignment="Center" />
                </StackPanel>
            </ListViewItem>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)

这是我的 TextBlock:

<TextBlock Text="{Binding ElementName=lvUsers, Path=Items.Count, Mode=OneWay}" />
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我知道如果我的 ListView 没有模板,只有 ListViewItems,它会工作,但我需要它像那样。

xaml binding

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

Winrt是否可以使用字符串资源(resw)支持设计模式?

我正在使用字符串资源来支持我的应用程序中的某些语言.在Windows商店应用程序中它有点不同,我使用resw文件(而不是resx).

并使用x:Uid我得到字符串,但问题是我没有在设计模式中看到值(仅在运行时).

我也可以编写Text ="TheStringValue",但它并不是我想要的,因为我希望它在设计模式下是动态的.可能吗?

resources xaml winrt-xaml windows-store-apps

5
推荐指数
0
解决办法
271
查看次数

未设置对象引用

这里有类似的问题,但没有一个适合我的特定情况.

我有一个带有按钮的Windows窗体.该按钮附加到事件处理程序,如下所示:

private void mybutton_Click(object sender, EventArgs e)
{
    // do some processing here
}
Run Code Online (Sandbox Code Playgroud)

此外,还有一个组合框,其中选择的变化应该触发如上定义的按钮事件处理程序.

private void mycombobox_SelectedIndexChanged(object sender, EventArgs e)
{
    mybutton_Click(sender, e); // this is the line which pops up the dialog
}
Run Code Online (Sandbox Code Playgroud)

代码在运行时完全按预期工作,但我在编译时得到一个对话框提示,其中显示:

你调用的对象是空的

没有其他错误或警告.

谷歌搜索告诉我,如果程序试图访问设置为null的引用类型变量的成员,则此消息是错误.

但是,当我在调试模式下运行此代码时,发送方和事件(e)变量都不为空.

那么为什么会弹出这个对话框呢?

如果这是一个错误或警告 - 它应该显示为错误或警告但不会发生这种情况.

这是截图: 在此输入图像描述

编辑:回答评论中提出的问题

您可以在屏幕截图中看到没有错误.

该程序运行良好 - 只需弹出这个

弹出窗口是由line:mybutton_Click(sender, e);在组合框selectedIndexChanged功能中引起的.

在处理过程mybutton_Click(sender, e)中不使用任何发送者或e参数.

我还没有安装任何VS扩展.

.net c#

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

如何通过Web API中的发布请求接收流和对象?

我目前正在使用Web API开发REST Web服务。

现在,我试图通过帖子接收流文件和对象。

当我发送没有JobPosition对象的文件时,我正确地接收了文件,当我发送没有文件的JobPosition文件时,我也正确地接收了JobPosition。

但是,当我通过邮递员发送流文件和对象时,会收到错误消息。

非常感谢您的帮助,以了解这是否可行,如果可以的话,将对我有所帮助。

public class JobPosition
{
    public int Id { set; get; }
    public string Title { set; get; }
}

[HttpPost]
[Route("Job")]
public async Task<bool> Post(JobPosition job)
{
    var multipartMemoryStreamProvider = new MultipartMemoryStreamProvider();
    await Request.Content.ReadAsMultipartAsync(multipartMemoryStreamProvider, new CancellationToken());
    var stream = await multipartMemoryStreamProvider.Contents[0].ReadAsStreamAsync();
    // implementaion
    return true;
}
Run Code Online (Sandbox Code Playgroud)

邮递员要求: 在此处输入图片说明 在此处输入图片说明

我尝试了Content-Type的所有可能组合,但均未成功。

c# rest asp.net-web-api

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

如何使用MultiLine和Scroller进行WinRT TextBox

我正在使用Windows应用商店应用并尝试使用多行和滚动条创建一个文本框.

我假设这应该像在WPF中一样容易实现.

我怎样才能做到这一点?非常感谢!!

xaml windows-store-apps windows-rt

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

C#为简单的数学运算获得奇怪的结果

我注意到一些奇怪的行为,同时添加两个双打,有时它的工作正确,有时不行!

这是第一个例子:

double num1 = 0.1 + 0.7; //Guess the result?
Run Code Online (Sandbox Code Playgroud)

容易 - 0.8 !!! 或不?

看看奇怪的结果:

在此输入图像描述

猜猜是什么,if语句在else块内,并打印num1- 而不,它不打印0.799999999999993,它打印0.8.

所以我向前迈了一步,尝试了这段代码:

if (0.1 + 0.7 == 0.8) //Returns false ??
{
    Console.WriteLine("Correct");
}
Run Code Online (Sandbox Code Playgroud)

好的,很奇怪,但现在我找到了正确的方法,它应该使用f(float).我记得double有很多空格,所以它可以包含更多的数字,也许这就是原因.

float num2 = 0.1f + 0.7f;

if (num2 == 0.8f) //Perfect - finally works !!!
{
    Console.WriteLine("Correct");
}
else
{
    Console.WriteLine(num2);
}
Run Code Online (Sandbox Code Playgroud)

但是现在,我试试这个 - 再次它返回错误,为什么?

if (0.1f + 0.7f == 0.8f) //Returns false :(
{
    Console.WriteLine("Correct");
}
Run Code Online (Sandbox Code Playgroud)

手表在调试时会产生:

在此输入图像描述

谁能解释我这里有什么问题?那些错误吗?

提前致谢.

c# math console-application

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

.NET Core 机密找不到密钥

我想使用内置的秘密功能.NET Core,但它对我不起作用,我不明白为什么我正在做需要的事情。如果您能帮助我并让我知道缺少什么,我将不胜感激。

在开发人员命令中我运行这个:

dotnet user-secrets init
dotnet user-secrets set ConectionStrings:DGM "Data Source=.;Initial Catalog=DGM;Integrated Security=True;MultipleActiveResultSets=True;"
Run Code Online (Sandbox Code Playgroud)

在代码中:

string conn = config.GetConnectionString("DGM");
Run Code Online (Sandbox Code Playgroud)

配置是 IConfiguration。

conn 为空,为什么?

c# asp.net-core secretsmanager

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

Is it possible to check for null values in switch case statement in C#

I have an object with the property Value. Value is a nullable number. I have some scenarios for the value of value. Usually, for null cases, I use the default case but this time, it is not correct logically. I want to do "X" in case of 100, "Y" in case of no value (the value is null), otherwise, I want to do "Z".

switch (p.Value)
{
    case 100:
        // DO X
        break;
    default:
        // Do Z
        break;
} …
Run Code Online (Sandbox Code Playgroud)

c# switch-statement

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

CSS style = display:block not working

浏览器是Firefox.

我有一个15个单选按钮的列表.在显示它们之后:

<div class="abcd"  style="margin-left:10px;">
    <form id='some'....>
        <legend>Select Item type :</legend>
        <fieldset style="display:block;float:left;">
            <input class="yy" id="sss" type="radio" name="group0" value="aaa"/> ABC
            ...
        </fieldset>
        <p>
            <input placeholder="Enter Name/Value" name="xxx" id="xxx" size="40" style="display:block;float:left;">
            <button type="button" id="xxx" style="width:100;">Process</button>
        </p>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

一切都在一行显示.我不知道如何在单选按钮下显示文本框,中间有一些空格.?

帮助.

html css

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

.NET 6 使记录中的属性为必需且非空的最佳方法是什么

我寻找答案,但找不到明确的答案。是的,我知道类似的问题到处都存在。我希望我能在这里得到答案。

假设我有一个Person具有 2 个属性(FirstName、MiddleName)的类。名字是必需的,中间名是可选的。

我希望该FirstName属性始终具有不可为空的数据。

以下是我想到的一些选择(但似乎没有一个是完美的)。

一种可选的方法是使用记录的短语法:

// FirstName might be null (bad)
// MiddleName is optional (good)
public record Person(string FirstName, string? MiddleName);
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用null-forgiving 运算符,但仍然存在同样的问题。

// FirstName might be null (bad)
// MiddleName is optional (good)
public record Person
{
    public string FirstName { get; init; } = null!;

    public string? MiddleName { get; init; }
}
Run Code Online (Sandbox Code Playgroud)

旧的选项是检查构造函数中的输入:

// FirstName is required and will always have some data (good)
// MiddleName is optional …
Run Code Online (Sandbox Code Playgroud)

c# .net-6.0 c#-10.0

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