小编Zap*_*ila的帖子

当源为null/undefined时,KnockoutJS绑定

是否有更短/更清晰的方法来进行null/undefined测试?

<select data-bind="options: SelectedBusinessLine() ? SelectedBusinessLine().Clusters() : [],
                               optionsText: 'Title',
                               value: SelectedCluster,
                               optionsCaption: 'Select Cluster..'">
            </select>
Run Code Online (Sandbox Code Playgroud)

代替

data-bind="options: SelectedBusinessLine() ? SelectedBusinessLine().Clusters() : [],
Run Code Online (Sandbox Code Playgroud)

我想要

data-bind="options: SelectedBusinessLine().Clusters(),
Run Code Online (Sandbox Code Playgroud)

给(或)拿()

或者至少一个更简单的空操作符检查'??' SelectedBusinessLine ?? []

或者是一个自动检查null或silent失败的绑定参数.

任何想法,如果这是可能的?

binding knockout.js

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

iPhone UITableViewCell图层阴影

我正在尝试使用layer.shadowColor,Offset,Radius向UITableViewCell添加阴影,但它似乎不会以任何方式影响它.该表是分组样式.有什么想法吗?

这是我正在使用的代码:

cell.layer.shadowColor= [UIColor blackColor].CGColor;
cell.layer.shadowRadius = 5.0;
cell.layer.shadowOffset = CGSizeMake(10, 10);
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch shadow uitableview

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

C#:键盘钩

我不知道这个问题有更好的标题,但我会说明我的问题.

我正在开发类似MP3播放器的应用程序,它使用多媒体键来播放/暂停,停止歌曲,我实际上使它工作但是FormApplication必须在顶部[聚焦]

protected override void WndProc(ref Message msg)
{
    if (msg.Msg == 0x319)   // WM_APPCOMMAND message
    {
        // extract cmd from LPARAM (as GET_APPCOMMAND_LPARAM macro does)
        int cmd = (int)((uint)msg.LParam >> 16 & ~0xf000);
        switch (cmd)
        {
            case 13:  // APPCOMMAND_MEDIA_STOP constant
                MessageBox.Show("Stop");
                break;
            case 14:  // APPCOMMAND_MEDIA_PLAY_PAUSE
                MessageBox.Show("Play/Pause");
                break;
            case 11:  // APPCOMMAND_MEDIA_NEXTTRACK
                MessageBox.Show("Next");
                break;
            case 12:  // APPCOMMAND_MEDIA_PREVIOUSTRACK
                MessageBox.Show("Previous");
                break;
            default:  
                break;
        }
    }
    base.WndProc(ref msg);
}


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    Message m = new …
Run Code Online (Sandbox Code Playgroud)

c# keyboard-shortcuts keyboard-hook media-player

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

WPF圆形奇怪的边框

在此处输入图片说明

你好

我现在尝试了 2 天多来创建像上图一样处于按下状态的切换按钮,但是上边框让我很头疼。有谁知道如何创建下降的圆角?背景是从上到下的线性渐变:#b8c7d6 - #a8b3c4

任何帮助都将不胜感激!

我有这样的东西,但它与设计相去甚远:

<Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}">
    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
    <Setter Property="HorizontalContentAlignment" Value="Center"/>
    <Setter Property="VerticalContentAlignment" Value="Center"/>
    <Setter Property="Padding" Value="1"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ToggleButton}">
                <Grid>
                    <Border Background="Black" BorderThickness="1" BorderBrush="#FF4E4F50" CornerRadius="3"/>
                    <Border Background="Black" Margin="1" CornerRadius="3"/>
                    <Border Margin="2" CornerRadius="3">
                        <Border.Background>
                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                <GradientStop Color="#0099B9D1" Offset="0"/>
                                <GradientStop Color="#FF99B9D1" Offset="1"/>
                                <GradientStop Color="#B299B9D1" Offset="0.054"/>
                            </LinearGradientBrush>
                        </Border.Background>
                    </Border>
                    <Border Margin="2" CornerRadius="3" Opacity="0.3">
                        <Border.Background>
                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                <LinearGradientBrush.RelativeTransform>
                                    <TransformGroup>
                                        <ScaleTransform CenterY="0.5" CenterX="0.5"/>
                                        <SkewTransform CenterY="0.5" CenterX="0.5"/>
                                        <RotateTransform Angle="90" CenterY="0.5" …
Run Code Online (Sandbox Code Playgroud)

wpf border

5
推荐指数
2
解决办法
2644
查看次数

WPF Prism为什么选择RegisterType?(带容器)

根据我的理解,棱镜的统一容器可以解决类型事件,如果它们尚未注册,这是否使_container.RegisterType有点无用?

谢谢!

wpf prism ioc-container unity-container

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

当鼠标不超过两个元素时,Wpf Reactive Extensions会做出反应

我正在尝试更多地了解反应性扩展,但我发现很难找到一个真实世界的例子,所以我可以训练自己.

我几天前发现自己写了一些ToggleButtonMouse Enter,Leave Checked Unchecked事件,现在我想知道我是否可以使用被动扩展来简化它.

这是目标:

给定a ToggleButton,当悬停并且未检查时,弹出窗口应该显示,如果鼠标没有超过按钮或弹出窗口,弹出窗口应该关闭

如果我按下切换按钮(选中),弹出窗口应保持打开状态,直到取消选中该按钮(忽略鼠标输入离开事件),之后鼠标悬停行为应再次启动.

如果弹出窗口外部关闭,则应自动取消选中切换按钮.(我知道这可以使用一些绑定和数据触发器实现,但我想练习我的反应式扩展逻辑)

现在我有以下内容:

    private void ToggleButton_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
    {
        if (!ToggleButton.IsChecked ?? false)
            Popup.IsOpen = true;
    }

    private void ToggleButton_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
    {
        if (!Popup.Child.IsMouseOver && !(TaskManagerTab.IsChecked ?? false))
        {
            Popup.IsOpen = false;
            return;
        }

        popup.Child.MouseLeave +=  Popup_MouseLeave;
    }

    void Popup_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
    {
        Popup.Child.MouseLeave -=  Popup_MouseLeave;

        if (!ToggleButton.IsMouseOver && !(ToggleButton.IsChecked ?? false))
        {
            Popup.IsOpen = false;
            return;
        }
    }

    private void ToggleButton_CheckedChanged(object sender, System.Windows.RoutedEventArgs e) …
Run Code Online (Sandbox Code Playgroud)

wpf mouseevent system.reactive

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