标签: stackpanel

如何使StackPanel宽度为另一个StackPanel的宽度?

我有两个dockpanels,每个都有一个左侧StackPanel.

所述的宽度底部的StackPanel确定由宽度文本是在它.

的宽度顶部的StackPanel应该是相同的宽度底部的StackPanel.

我试图通过ElementName将顶部StackPanel的宽度绑定到底部StackPanel的宽度,但这不起作用.

如何使顶部宽度与底部宽度相同?

替代文字http://i33.tinypic.com/59wj6s.jpg

<StackPanel>
    <DockPanel LastChildFill="True" Height="100" >
        <StackPanel Width="{Binding ElementName=LeftMenuText, Path=Width}" 
                    DockPanel.Dock="Left"
                    Background="Yellow">
            <TextBlock
                Text="This is some text."/>
        </StackPanel>
        <StackPanel DockPanel.Dock="Right"
                    Background="Orange">
        </StackPanel>
    </DockPanel>

    <DockPanel 
        Height="3"
        Background="Black"></DockPanel>

    <DockPanel LastChildFill="True" Height="100">
        <StackPanel Name="LeftMenuWrapper"
                    DockPanel.Dock="Left"
                    Background="Yellow">
            <TextBlock 
                    Text="This is some text that is longer."/>
        </StackPanel>
        <StackPanel DockPanel.Dock="Right"
                    Background="Blue">
        </StackPanel>
    </DockPanel>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

wpf xaml width stackpanel dockpanel

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

使用Database中的复选框填充StackPanel

我是WPF的新手.我有一个页面,显示来自SQL数据库的数据使用L2S.在L2S返回一个DataTable包含所有可用的选项,从一个特定的区域选择.它从DataBase返回的每一行都需要是一个checkbox,我想把这些复选框放在一个stackpanel.

我在看数据绑定StackPanel吗?这感觉不对......我猜我需要循环遍历DataTable并为每一行创建复选框项,然后在运行时将它们添加到StackPanel.它是否正确?回归DataTable问题的一部分?

我看到它StackPanel有一个DataContext属性,但我不能只设置它因为它不知道使每个项目成为一个checkbox,对吗?

.net c# linq wpf stackpanel

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

当面板中的元素具有焦点时,更改WPF StackPanel背景颜色

如果我在StackPanel中有一组控件,当StackPanel中的任何控件获得焦点时,是否有通用的方法来更改stackpanel的背景?(当StackPanel中的控件没有焦点时,显然会切换背景).下面的代码对我有用,但是有一个通用的方法来完成这个任务,而不必在我的页面中的每个StackPanel中列出每个控件.

谢谢!

<StackPanel Margin="5">
    <StackPanel.Style>
    <Style TargetType="{x:Type StackPanel}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding IsFocused, ElementName=chkOccupiedByMortgagor}" Value="true">
                <Setter Property="Background" Value="Gray" />
                <Setter Property="Opacity" Value=".5" />
            </DataTrigger>
            <DataTrigger Binding="{Binding IsFocused, ElementName=chkOccupiedByNewOwner}" Value="true">
                <Setter Property="Background" Value="Gray" />
                <Setter Property="Opacity" Value=".5" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</StackPanel.Style>
<CheckBox Margin="2" x:Name="chkOccupiedByMortgagor">Mortgagor</CheckBox>
<CheckBox Margin="2" x:Name="chkOccupiedByNewOwner">New Owner</CheckBox>
<CheckBox Margin="2" x:Name="chkOccupiedByTenant">Tenant</CheckBox>
<CheckBox Margin="2" x:Name="chkOccupiedByUnknownOccupant">Unknown Occupant</CheckBox>
</StackPanel> 
Run Code Online (Sandbox Code Playgroud)

wpf background focus stackpanel

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

切换并灰显StackPanel

我试图在一个大的StackPanel上切换一个小的StackPanel:当小的StackPanel切换并显示可见时,背面的大StackPanel是灰色的,具有不透明度颜色.有谁知道如何使整个StackPanel变灰?

wpf stackpanel

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

绑定按钮IsEnabled到StackPanel有孩子

我想知道我是否可以将我的Button isEnabled绑定到我的StackPanel Children(有孩子).如果stackpanel有子项,那么我的按钮被启用,没有孩子我的按钮被禁用.目前我只是在代码中处理这个,但我开始想知道这是否是我可以绑定的东西.谢谢你的任何想法......

wpf binding button stackpanel isenabled

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

在DataTemplate中排列ItemsControl项

出于某种原因,在dataTemplate中添加的项目将不会执行我告诉他们要做的事情!

我试图将一些图像水平放置在一个堆叠面板中,但无论我如何尝试,它们只是垂直移动.

这是我的xaml.

<DataTemplate x:Name="View">
  <Border BorderBrush="Red" BorderThickness="4" >
      <StackPanel  Orientation="Horizontal">
             <ItemsControl ItemsSource="{Binding Path=_Collection, Mode=OneWay}" >
                 <ItemsControl.ItemTemplate>
                      <DataTemplate >
                          <Image Source="{Binding _Source}" />
                      </DataTemplate>
                 </ItemsControl.ItemTemplate>
             </ItemsControl>
         <TextBlock Height="30" FontFamily="Trebuchet MS" FontSize="18" Text="{Binding _Name}" />
      </StackPanel>
  </Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

一切都很好.这是从用户控件内部调用的

<ItemsControl ItemTemplate="{StaticResource siteView}" ItemsSource="{Binding Path=_SiteDisplay"/>
Run Code Online (Sandbox Code Playgroud)

我的obervable集合_SiteDisplay包含另一个名为_Collection的oberservable集合,它保存图像的url.

这是从实际代码中删除的,但说明了问题.我不能让图像水平对齐!非常感谢任何帮助 - 或建议更好的方法.

c# silverlight datatemplate itemscontrol stackpanel

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

SnapsToDevicePixels似乎在StackPanel中不起作用

我在StackPanel中有更多的扩展器(Orientation = Vertical).当我扩展一个时,扩展的一个下面的其他人似乎是模糊的.就像它SnapsToDevicePixels = False一样.

我认为问题可能在StackPanel中,因为它不支持.NET 3.5(我使用)中的UseLayoutRounding.这可能或问题可能在其他地方吗?

我几乎到处都把SnapsToDevicePixels ="True",但没有改变.

(字体大小为12因此它不能[1]:WPF模糊字体问题 - 解决方案)

wpf blurry stackpanel snapstodevicepixels .net-3.5

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

使用ColorAnimation更改StackPanel背景颜色

好吧,我正在尝试使用ColorAnimation更改DataTemplate中StackPanel的背景颜色:

    <DataTemplate DataType="{x:Type logic:Sensor}">
        <StackPanel Name="SensorPanel" MouseDown="SensorPanel_MouseDown">
        </StackPanel>
        <DataTemplate.Triggers>
            <DataTrigger Binding="{Binding Status}" Value="0">
                <!--<Setter TargetName="SensorPanel" Property="Background" Value="LawnGreen" />-->

                <DataTrigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation 
                                Storyboard.TargetName="SensorPanel" 
                                Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)"
                                To="LawnGreen" Duration="0:0:0.25" AutoReverse="True" RepeatBehavior="4">
                            </ColorAnimation>
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.EnterActions>

            </DataTrigger>
        </DataTemplate.Triggers>
    </DataTemplate>
Run Code Online (Sandbox Code Playgroud)

没有编译时错误.但是当我运行它时会抛出InvalidOperationException:"'Background'属性不指向路径中的DependencyObject'(0).(1)'."

什么?:d

wpf xaml background stackpanel coloranimation

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

C#WPF想要点击Stackpanel的孩子

我正在使用StackPanels.在我的应用程序中,我必须显示具有3到x图像的多重tiff,并且在我点击其中一个之后必须在新窗口中打开它们.

显示它们很简单:

public void Bilder_anzeigen(string path)
{
    TiffBitmapDecoder decoder = new TiffBitmapDecoder(new Uri(path), BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

    foreach (var i in decoder.Frames)
    {
        Image myImage = new Image();
        myImage.Source = i;
        Stackpanel_Tiff.Children.Add(myImage);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如何让孩子点击StackPanel?有一个MouseDown事件,但在它被引发后,我不知道我点击了哪个图像.我只知道有一个点击.如何找到点击的图像?

.net c# wpf stackpanel

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

如何让stackpanel调整大小以适应它堆叠的控件?

我正在制作一个工具栏.我希望窗口的宽度等于按钮的总宽度.StackPanel似乎非常适合这项工作,因为它可以解决所有问题,但它不会延伸.

  <Window Width="auto">
     <StackPanel Orientation="Horizontal" Width="auto">
        <Button />
        <Button />
     </StackPanel>
  </Window>
Run Code Online (Sandbox Code Playgroud)

我该如何工作?

wpf stackpanel

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