Questions tagged «wpf»

Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。


10
绑定在后台代码中定义的对象
我有一些在代码后实例化的对象,例如,XAML称为window.xaml,并且在window.xaml.cs中 protected Dictionary<string, myClass> myDictionary; 如何仅使用XAML标记将此对象绑定到例如列表视图? 更新: (这正是我的测试代码中包含的内容): <Window x:Class="QuizBee.Host.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="{Binding windowname}" Height="300" Width="300" DataContext="{Binding RelativeSource={RelativeSource Self}}"> <Grid> </Grid> </Window> 并在代码背后 public partial class Window1 : Window { public const string windowname = "ABCDEFG"; public Window1() { InitializeComponent(); } } 假设标题应该变成“ ABCDEFG”,对吗?但最终什么也没显示。
88 c#  .net  wpf  binding 


4
连接字符串,而不使用一堆TextBlocks
我想在WPF ItemsControl中显示Customer对象的列表。我为此创建了一个DataTemplate: <DataTemplate DataType="{x:Type myNameSpace:Customer}"> <StackPanel Orientation="Horizontal" Margin="10"> <CheckBox"></CheckBox> <TextBlock Text="{Binding Path=Number}"></TextBlock> <TextBlock Text=" - "></TextBlock> <TextBlock Text="{Binding Path=Name}"></TextBlock> </StackPanel> </DataTemplate> 因此,我基本上想要的是一个简单的列表(带有复选框),其中包含NUMBER-NAME。没有办法直接在绑定部分中连接数字和名称吗?
88 .net  wpf  datatemplate 

5
在wpf中获取窗口内元素的绝对位置
我想获得一个元素相对于window / root元素在双击时的绝对位置。元素在其父元素中的相对位置是我似乎可以到达的所有位置,而我试图到达的是相对于窗口的点。我已经看到了如何在屏幕上而不是在窗口中获得元素点的解决方案。

10
如何在样式设置器中添加混合行为
我已经为Button创建了Blend行为。如何将其设置为应用程序中的所有“按钮”。 <Button ...> <i:Interaction.Behaviors> <local:MyBehavior /> </i:Interaction.Behaviors> </Button> 但是,当我尝试: <Style> <Setter Property="i:Interaction.Behaviors"> <Setter.Value> <local:MyBehavior /> </Setter.Value> </Setter> </Style> 我得到错误 属性“行为”没有可访问的设置器。

9
WPF中的Application.DoEvents()在哪里?
我有以下示例代码,每次按下按钮时都会缩放: XAML: <Window x:Class="WpfApplication12.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Canvas x:Name="myCanvas"> <Canvas.LayoutTransform> <ScaleTransform x:Name="myScaleTransform" /> </Canvas.LayoutTransform> <Button Content="Button" Name="myButton" Canvas.Left="50" Canvas.Top="50" Click="myButton_Click" /> </Canvas> </Window> * .cs public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void myButton_Click(object sender, RoutedEventArgs e) { Console.WriteLine("scale {0}, location: {1}", …
88 c#  .net  wpf  xaml 

6
WPF与StringFormat的绑定不适用于工具提示
下面的代码具有一个简单的绑定,该绑定使用完全相同的绑定符号将名为MyTextBlock的TextBlock的文本绑定到TextBox的Text和ToolTip属性: <StackPanel> <TextBlock x:Name="MyTextBlock">Foo Bar</TextBlock> <TextBox Text="{Binding ElementName=MyTextBlock, Path=Text, StringFormat='It is: \{0\}'}" ToolTip="{Binding ElementName=MyTextBlock, Path=Text, StringFormat='It is: \{0\}'}" /> </StackPanel> 绑定还使用.NET 3.5 SP1引入的StringFormat属性,该属性对于上述Text属性可以正常工作,但对于ToolTip似乎无效。预期的结果是“它是:Foo Bar”,但是当您将鼠标悬停在TextBox上时,工具提示仅显示绑定值,而不显示字符串格式的值。有任何想法吗?
87 wpf  binding 

13
如何在WPF中获取当前屏幕的大小?
我知道我可以通过使用获得主屏幕的大小 System.Windows.SystemParameters.PrimaryScreenWidth; System.Windows.SystemParameters.PrimaryScreenHeight; 但是,如何获取当前屏幕的大小?(多屏幕用户并不总是使用主屏幕,并且并非所有屏幕都使用相同的分辨率,对吗?) 能够从XAML访问大小很好,但是从代码(C#)进行访问就足够了。
87 c#  wpf  xaml  size  screen 

2
WPF错误:找不到目标元素的管理FrameworkElement
我有一个DataGrid带有图像的行。该图像与触发器绑定到特定状态。当状态改变时,我想改变图像。 模板本身设置HeaderStyle为DataGridTemplateColumn。该模板具有一些绑定。第一个具有约束力的“ Day”(日期)显示了它是星期几,“ State”(状态)通过触发器更改了图像。 这些属性在ViewModel中设置。 特性: public class HeaderItem { public string Day { get; set; } public ValidationStatus State { get; set; } } this.HeaderItems = new ObservableCollection<HeaderItem>(); for (int i = 1; i < 15; i++) { this.HeaderItems.Add(new HeaderItem() { Day = i.ToString(), State = ValidationStatus.Nieuw, }); } …

9
XAML中的readonly属性的OneWayToSource绑定
Наэтотвопросестьответына堆栈溢出нарусском:绑定的ActualHeightиActualWidth的контролавсвойство视图模型 我正在尝试Readonly使用OneWayToSourceas模式绑定到属性,但是似乎无法在XAML中完成此操作: <controls:FlagThingy IsModified="{Binding FlagIsModified, ElementName=container, Mode=OneWayToSource}" /> 我得到: 无法设置属性“ FlagThingy.IsModified”,因为它没有可访问的集合访问器。 IsModified是只读DependencyProperty的FlagThingy。我想将该值绑定到FlagIsModified容器上的属性。 要清楚: FlagThingy.IsModified --> container.FlagIsModified ------ READONLY ----- ----- READWRITE -------- 仅使用XAML,这可能吗? 更新:嗯,我通过在容器而不是上设置绑定来解决这种情况FlagThingy。但是我仍然想知道这是否可能。

15
WPF CommandParameter首次调用NULL时为NULL
WPF和Commands绑定到ItemsControl的DataTemplate内部的Button时,我遇到了问题。该场景非常简单。ItemsControl绑定到对象列表,我希望能够通过单击按钮来删除列表中的每个对象。按钮执行命令,命令负责删除。CommandParameter绑定到我要删除的对象。这样我就知道用户单击了什么。用户只能删除其“自己的”对象-因此,我需要在Command的“ CanExecute”调用中进行一些检查,以验证用户是否具有正确的权限。 问题在于,第一次调用时传递给CanExecute的参数为NULL-因此我无法运行逻辑来启用/禁用命令。但是,如果我一直启用它,然后单击按钮执行命令,则CommandParameter将正确传递。因此,这意味着与CommandParameter的绑定正在工作。 ItemsControl和DataTemplate的XAML如下所示: <ItemsControl x:Name="commentsList" ItemsSource="{Binding Path=SharedDataItemPM.Comments}" Width="Auto" Height="Auto"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Button Content="Delete" FontSize="10" Command="{Binding Path=DataContext.DeleteCommentCommand, ElementName=commentsList}" CommandParameter="{Binding}" /> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> 如您所见,我有一个Comments对象列表。我希望DeleteCommentCommand的CommandParameter绑定到Command对象。 所以我想我的问题是:以前有人遇到过这个问题吗?CanExecute在我的Command上被调用,但是第一次该参数始终为NULL-为什么? 更新:我能够将问题缩小一点。我添加了一个空的Debug ValueConverter,以便在CommandParameter与数据绑定时可以输出一条消息。原来的问题是,在CommandParameter绑定到按钮之前执行了CanExecute方法。我尝试在Command之前设置CommandParameter(如建议的那样)-但它仍然无法正常工作。有关如何控制它的任何提示。 Update2:有什么方法可以检测到绑定何时“完成”,以便我可以强制重新评估命令?另外-我是否有多个按钮(ItemsControl中的每个项目一个按钮)绑定到Command对象的同一实例,这是一个问题吗? Update3:我已将错误的复制品上传到我的SkyDrive:http : //cid-1a08c11c407c0d8e.skydrive.live.com/self.aspx/Code%20samples/CommandParameterBinding.zip

1
WPF绑定到自身
我有一个WPF Window,在某个地方有一个ListView我绑定List<string>到的地方。 现在在我的某处ListView有一个,TextBox并且该Content属性设置为{Binding}。 但这是简写。如何编写完整绑定以绑定到自身? {Binding Path=Self}不起作用,也不起作用{Binding Self}(后者是前者的快捷方式)。

2
WPF绑定模式有哪些?
我不了解WPF中的各种数据绑定模式,例如: 单程 双向 一度 等等... 这些模式分别是什么意思? 什么时候应该使用它们?
86 wpf  data-binding 

7
在WPF中对WebBrowser的Source属性进行数据绑定
有谁知道如何在WPF(3.5SP1)中对WebBrowser的.Source属性进行数据绑定?我有一个列表视图,我想在左侧有一个小的WebBrowser,在右侧是内容,并希望将每个WebBrowser的源与绑定到列表项的每个对象中的URI进行数据绑定。 到目前为止,这就是我作为概念证明所得到的,但是“ <WebBrowser Source="{Binding Path=WebAddress}"”没有编译。 <DataTemplate x:Key="dealerLocatorLayout" DataType="DealerLocatorAddress"> <StackPanel Orientation="Horizontal"> <!--Web Control Here--> <WebBrowser Source="{Binding Path=WebAddress}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="300" Height="200" /> <StackPanel Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <Label Content="{Binding Path=CompanyName}" FontWeight="Bold" Foreground="Blue" /> <TextBox Text="{Binding Path=DisplayName}" FontWeight="Bold" /> </StackPanel> <TextBox Text="{Binding Path=Street[0]}" /> <TextBox Text="{Binding Path=Street[1]}" /> <TextBox Text="{Binding Path=PhoneNumber}"/> <TextBox Text="{Binding …
85 c#  wpf  xaml  data-binding  browser 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.