小编akj*_*shi的帖子

youtube get_video无效

我用http://www.youtube.com/get_video?video_id=ID&t=SIGNATURE&fmt=18替换了

ID和SIGNATURE具有适当的值.但我没有看到任何保存或下载窗口,

而是一个空白的窗口.

我在Safari平台上使用Safari浏览器.帮助感谢.

youtube safari

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

我应该在IDisposable和Finalize上实现GC.SupressFinalize吗?

我新客户所在的代码审查清单如下 -

实现Dispose和Finalize的类应该在Dispose实现中调用GC.SupressFinalize

为什么?

它是否应该读取为实现IDisposable接口的类应该在Dispose实现中调用GC.SupressFinalize?

或者我错过了一些愚蠢的东西?

.net garbage-collection idisposable finalizer suppressfinalize

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

Textblock Style dataTrigger在ItemsControl中不起作用

我有一个ObservableCollection<Object1>类型(Messages在下面的代码中)绑定到一个ItemsControl.Object1有两个属性即ErrMsgIsError.ErrMsg如果是错误(即如果IsError是),我想显示红色,否则显示黑色.

<ItemsControl
    Height="Auto"
    Background="White"
    ItemsSource="{Binding Messages}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock
                    Margin="5,0,0,0"
                    Text="{Binding ErrMsg}"
                    Width="Auto"
                    Foreground="Black">
                    <TextBlock.Style>  
                        <Style TargetType="{x:Type TextBlock}">       
                            <Style.Triggers>         
                                <DataTrigger
                                    Binding="{Binding IsError}"
                                    Value="true">      
                                    <Setter
                                        Property="TextBlock.Foreground"
                                        Value="Red" />         
                                </DataTrigger>       
                            </Style.Triggers>     
                        </Style>   
                    </TextBlock.Style> 
                </TextBlock>
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

问题是所有的消息总是以黑色显示而不管IsError价值如何?

我怎样才能做到这一点?

.net wpf styles datatrigger itemscontrol

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

WPF 设计师:你的设计过程是怎样的?

我将完全重新提出这个问题。所以这是一个大的编辑

我一直在寻找 WPF 专业人士关于他们设计过程的一些反馈。例如,当我设计一个网站时,在我编写任何 HTML、CSS、JavaScript 之前,我会在 Photoshop 中设计界面,这样我就可以向客户展示他们网站的外观证明。在我编写任何代码之前,我会选择样式、配色方案,大多数(如果不是全部)第三方图形(库存摄影)一旦客户批准设计,我就开始构建它。

我想知道设计 WPF 桌面应用程序的等价物是什么。在设计界面时,选择配色方案,选择按钮样式,选择可能进入其中的任何图像,通常先创建模型吗?您是否只是在构建图形的同时动态创建所有图形。或者只是在网上找到一个主题/皮肤并在您的应用程序中使用它是否更常见?

再说一次,我知道没有正确的答案,我只是想听听你们都在做什么。

谢谢

ps - 我有 Expression Blend 4,我擅长手写 XAML(不仅仅是在 Blend 中使用设计视图)。我的问题不是关于我应该使用什么工具来构建 WPF 应用程序,而是关于设计过程。

.net wpf application-design expression-blend

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

Esc键未在Firefox中识别

出于某种原因,此脚本在Firefox中不起作用:

document.onkeydown=function keypress(e) {
    if (e.keyCode == 27) {
        window.location = "/edit"
    };
};
Run Code Online (Sandbox Code Playgroud)

它在Chrome中运行良好,但出于某种原因,它无法在Firefox中运行.

基本上,它的作用是/edit在按下转义键时加载页面.

javascript firefox keypress esc-key

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

访问子类中的私有变量?

所以我浏览了一些代码,我遇到了:

public class Person
{
    private string message;

    public override string ToString()
    {
        return message;
    }

    public static Person CreateEmployee()
    {
        return new Employee();
    }

    class Employee : Person
    {
        public Employee()
        {
            this.message = "I inherit private members!";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释如何使用/访问私有变量"消息",即使它是私有的?

c# oop nested-class private-members

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

如何更改TextBox的突出显示文本颜色?

WPF使用系统突出显示颜色来绘制所选文本的背景.我也想覆盖它.

我有一个textBox的控件模板:

<ControlTemplate TargetType="TextBox">
    <Border Name="Border"
          CornerRadius="2" 
          Padding="2"
          Background="Transparent"
          BorderThickness="0" >
        <ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter TargetName="Border" Property="Background" Value="{StaticResource TextBoxDisabledBackgroundColor}"/>
            <Setter Property="Foreground" Value="{StaticResource TextBoxDisabledForegroundColor}"/>
        </Trigger>
        <Trigger Property="IsReadOnly" Value="false">
            <Setter TargetName="Border" Property="Background" Value="{StaticResource TextBoxBackgroundColor}"/>
            <Setter Property="Foreground" Value="Black"/>
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

如何更改此模板以覆盖突出显示的文本和背景颜色?

.net wpf textbox background

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

VirtualizingStackPanel不会清除ItemTemplate中TextBoxes的文本

我将ItemsControlVirtualizingStackPanel一起作为项目面板,如下所示:

<ItemsControl Style="{StaticResource ItemsControl}" Name="itemsControl" 
              Margin="0,100,0,0" HorizontalAlignment="Stretch" Height="80">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <TextBox  />                    
            </DataTemplate>
        </ItemsControl.ItemTemplate>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>                    
                <VirtualizingStackPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

风格如下:

<Style x:Key="ItemsControl" TargetType="ItemsControl">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ItemsControl">
                <ScrollViewer VerticalScrollBarVisibility="Hidden" 
                              HorizontalScrollBarVisibility="Visible">
                    <ItemsPresenter />
                </ScrollViewer>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

我设置了一个包含100.000个元素作为ItemsSource的集合,并获得了非常好的性能.除了一件事,一切都很好.当我在其中一个文本框中输入文本然后开始滚动时,我发现该文本在整个列表中随处可见!

我理解VirtualizingStackPanel的功能.它会不断加载在滚动时变得可见的元素.我理解它的虚拟化技术的一些方面,但我不知道如何理解这种奇怪的行为.我没能在WPF/Silverlight虚拟化上找到好的文档,所以,请解释一下发生了什么

silverlight wpf virtualizingstackpanel

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

如何从后面的 C# 代码更新 WPF 绑定的值?

使用以下代码在文本框上绑定属性。当 UI 中的文本框值被修改时,属性值将被刷新。但我将值分配给代码后面的文本框 [txtNoOfSessions.Text = "1"] ,但它没有反映属性中的值。

 <TextBox x:Name="txtNoOfSessions" 
          Text="{Binding Path=NoOfSessions,Mode=TwoWay}" 
          Height="23" Width="120" />
Run Code Online (Sandbox Code Playgroud)

c# wpf binding

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

使用move()修改ObservableCollection?

我有一个与修改绑定到UI中的ListBox的ObservableCollection中的各个项目有关的问题。

UI中的用户可以多选项目,然后将其放在特定的索引处以对其重新排序。

因此,如果我有项目{0,1,2,3,4,5,6,7,8,9},用户可以选择项目2、5、7(按此顺序)并将其放置在索引3处,这样收藏就变成了,

{0,1,3,2,5,7,4,8,9}

我现在的工作方式是在控件上的ondrop()方法内部,例如:

foreach (Item item in draggedItems)
{
   int oldIndex = collection.IndexOf(item.DataContext as MyItemType);
   int newIndex = toDropIndex;

  if (newIndex == collection.Count)
  {
         newIndex--;
  }

  if (oldIndex != newIndex)
  {
     collection.Move(oldIndex, newIndex);                                     
  }
Run Code Online (Sandbox Code Playgroud)

}

但是问题是,如果我将这些项目放在开始拖动第一个项目的索引之前,那么顺序将颠倒...因此集合变为,

{0,1,3,7,5,2,4,8,9}

如果我在索引3之后删除,它会很好地工作,但是如果我在3之前删除它,那么顺序将相反。

现在,我可以执行一个简单的删除操作,然后将所有项目插入想要的索引中,但是对我来说,“移动”具有将选择保留在ui中的优点(删除基本上取消了列表中的项目的选择。) ....所以我将需要使用move方法,

我上面的方法有什么问题以及如何解决?谢谢!

c# wpf observablecollection

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