C#Lambda,“ s”分配在哪里

时间:2018-08-28 10:35:19

标签: c# uwp

感谢前进。 我正在学习开发uwp程序。我从互联网上获得了这些代码

我有一个登录视图:

    <TextBox x:Name="txtUserID" Grid.Row="0" Grid.Column="1" Width="150" Text="{x:Bind VM.UserId,Mode=TwoWay}" />
    <TextBlock x:Name="txbUserName" Grid.Row="1" Grid.Column="1" Width="150" Text="{x:Bind VM.UserName,Mode=OneWay}"  />
    <Button x:Name="btnLogin" Content="{x:Bind VM.log, Mode=OneWay}" Grid.Row="2" Grid.ColumnSpan="2" Width="150" HorizontalAlignment="Center"
            Command="{x:Bind VM.LoginCommand,Mode=OneWay}"
            CommandParameter="{Binding Text,ElementName=txtUserID,Mode=OneWay}"
            />

然后我有一个按钮命令:

public DelegateCommand<string> LoginCommand
    {
        get
        {
            return _loginCommand
                ?? (_loginCommand = new DelegateCommand<string>(
                    s =>
                    {
                        UserName = s;
                        log = "new";
                    },
                    s => !string.IsNullOrEmpty(s)
                    ));
        }
    }

当然,该程序可以正常运行,但我不太了解。

除S之外,所有变量都已声明,但S没有声明。

但是奇怪的是S没有声明,但是可以正确获取按钮携带的参数。

我重命名了S,效果仍然有效。

我不太了解这一点,希望有人能帮助我。

0 个答案:

没有答案