Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight WP7:如何覆盖静态资源?_Silverlight_Windows Phone 7_Resources_Overriding - Fatal编程技术网

Silverlight WP7:如何覆盖静态资源?

Silverlight WP7:如何覆盖静态资源?,silverlight,windows-phone-7,resources,overriding,Silverlight,Windows Phone 7,Resources,Overriding,如何覆盖Windows Phone 7应用程序中的静态资源 我将许多文本框堆叠在一个列表中,我希望缩小它们之间的间距,但不重新放置整个控件 我认为PhoneTouchTargetOverhang是造成巨大利润的原因。如何覆盖它 我已尝试将其添加到我的PhoneApplicationPage。参考资料: <Thickness x:Key="PhoneTouchTargetOverhang">0</Thickness> 0 。。。但这并不影响任何事情 此外,我还试图覆盖其

如何覆盖Windows Phone 7应用程序中的静态资源

我将许多文本框堆叠在一个列表中,我希望缩小它们之间的间距,但不重新放置整个控件

我认为PhoneTouchTargetOverhang是造成巨大利润的原因。如何覆盖它

我已尝试将其添加到我的PhoneApplicationPage。参考资料:

<Thickness x:Key="PhoneTouchTargetOverhang">0</Thickness>
0
。。。但这并不影响任何事情

此外,我还试图覆盖其他资源,如默认背景色和前景色,但没有成功。无论我做什么,什么都不会发生

澄清:

  • 我不想重新设置整个控件的模板,只想更改模板使用的一些资源
  • 我不在乎删除文本框模板上的触摸边距是否是“糟糕的设计”。对于我正在处理的这个案子,有一个要求就是让他们靠得很近

    • 我可能误解了

      但是如果你只是重复数据绑定列表框中的文本框,那么我认为你可以在数据模板中设置这些文本框的边距

      <ListBox ItemsSource="{...}">
      <ListBox.ItemTemplate>
      <DataTemplate>
      <TextBox Margin="0" Text="{...}"/>
      </DataTemplate>
      </ListBox.ItemTemplate>
      </ListBox>
      

      我可能误解了

      但是如果你只是重复数据绑定列表框中的文本框,那么我认为你可以在数据模板中设置这些文本框的边距

      <ListBox ItemsSource="{...}">
      <ListBox.ItemTemplate>
      <DataTemplate>
      <TextBox Margin="0" Text="{...}"/>
      </DataTemplate>
      </ListBox.ItemTemplate>
      </ListBox>
      

      我还没有尝试过这个方法,但是将
      顶部
      底部
      边距设置为负数应该会使
      文本框
      更加靠近

      <TextBox Margin="0,-10,0,-10" Text="Some text"/>
      

      我还没有尝试过这个方法,但是将
      顶部
      底部
      边距设置为负数应该会使
      文本框
      更加靠近

      <TextBox Margin="0,-10,0,-10" Text="Some text"/>
      

      尝试更改静态资源时,您应该签出这些资源:

      而且

      -这实际上显示了如何在xaml中设置textbox的样式(在您的示例中是textbox控件)。由于您使用的是wp7,因此可以在app.xaml文件中声明这些。如果您希望在整个应用程序中应用这些样式,这是一个很好的方法。如果不是的话,Praetorian的解决方案是您想要设计的特定控制的替代方案

      从我使用的情况来看,没有理由不起作用。老实说,我认为创建一个模板比在xaml文件中的单个控件上应用负边距更好(更整洁)

      还要注意,出于用户体验的目的,利润率的增加是有原因的。如果将它们放得太近,则很难选择某个控件。我相信这是一个要求,但我不确定确切

      下面是在app.xaml中放置内容的示例:

      <Style x:Key="TextBoxStyle1" TargetType="TextBox">  
          <Setter Property="Template">  
               <Setter.Value> 
                    <ControlTemplate TargetType="TextBox">
                    </ControlTemplate>
               </Setter.Value>
          </Setter>
      </Style>
      
      
      
      如果您不想从头开始,这是为textbox控件创建模板的完整示例


      HTH.

      在尝试更改静态资源时,您应该签出这些资源:

      而且

      -这实际上显示了如何在xaml中设置textbox的样式(在您的示例中是textbox控件)。由于您使用的是wp7,因此可以在app.xaml文件中声明这些。如果您希望在整个应用程序中应用这些样式,这是一个很好的方法。如果不是的话,Praetorian的解决方案是您想要设计的特定控制的替代方案

      从我使用的情况来看,没有理由不起作用。老实说,我认为创建一个模板比在xaml文件中的单个控件上应用负边距更好(更整洁)

      还要注意,出于用户体验的目的,利润率的增加是有原因的。如果将它们放得太近,则很难选择某个控件。我相信这是一个要求,但我不确定确切

      下面是在app.xaml中放置内容的示例:

      <Style x:Key="TextBoxStyle1" TargetType="TextBox">  
          <Setter Property="Template">  
               <Setter.Value> 
                    <ControlTemplate TargetType="TextBox">
                    </ControlTemplate>
               </Setter.Value>
          </Setter>
      </Style>
      
      
      
      如果您不想从头开始,这是为textbox控件创建模板的完整示例


      HTH.

      否,将边距设置为0不起作用。导致文本框模板空白的是PhoneTouchTargetOverhang资源。如果我能以某种方式推翻它…谢谢你的解释。刚刚在VS2010中玩了一个游戏-我不相信PhoneTouchTargetOverhang是您需要更改的-但看起来确实需要在Blend中重新设置文本框的样式。不,将边距设置为0不起作用。导致文本框模板空白的是PhoneTouchTargetOverhang资源。如果我能以某种方式推翻它…谢谢你的解释。刚刚在VS2010中玩了一个游戏-我不相信PhoneTouchTargetOverhang是您需要更改的-但看起来确实需要在Blend中重新设置文本框的样式。这会导致文本框重叠,按一个文本框可能会在另一个文本框上进入编辑模式。尝试从-1开始,而不是从-10开始,然后更改边距直到它们符合您的喜好。这会导致文本框重叠,按一个文本框可能会在另一个文本框上进入编辑模式。请尝试从-1开始,而不是-10,并更改边距,直到它们符合您的喜好。找不到有关如何覆盖您提供的链接上的静态资源的信息。。。我不想完全重新设置样式/重新模板,只想更改模板使用的一两个资源。这在WP7中是否可能实现并删除?我不明白。@Andreas据我所知,重写静态资源的唯一方法是在App.xaml中定义一个新资源或直接修改标记。还请记住,您不必定义一个完全“新”的模板,只需应用所需的样式即可。再次检查第二个链接。我认为您可以定义特定样式(例如边距),而无需为控件定义整个模板。在您提供的链接上找不到有关如何覆盖静态资源的信息。。。我不想完全重新设计样式/重新模板,只想更改一两个资源