Questions tagged «xaml»

可扩展应用程序标记语言(XAML)是一种基于XML的声明性语言,用于初始化各种框架中的结构化值和对象。如果对使用特定框架的XAML的使用有疑问,还应提供该框架的标签,例如[wpf](Windows Presentation Foundation),[silverlight],[windows-phone],[windows-store-apps]( Windows 8应用商店应用程序),[win-universal-app],[xamarin.forms]或[workflow-foundation]

4
XAML是否具有调试模式的条件编译器指令?
对于XAML中的样式,我需要这样的东西: <Application.Resources> #if DEBUG <Style TargetType="{x:Type ToolTip}"> <Setter Property="FontFamily" Value="Arial"/> <Setter Property="FlowDirection" Value="LeftToRight"/> </Style> #else <Style TargetType="{x:Type ToolTip}"> <Setter Property="FontFamily" Value="Tahoma"/> <Setter Property="FlowDirection" Value="RightToLeft"/> </Style> #endif </Application.Resources>
76 c#  wpf  xaml 

3
如何在XAML中围绕控件的中心旋转
我想将按钮旋转到90度,但由于它旋转(0,0)而被裁剪。如果我不知道它的宽度(以像素为单位)(这是许多按钮的模板),如何使其绕中心旋转
75 c#  wpf  xaml 

2
WPF中DataGridColumn的绑定可见性
如何DataGrid通过绑定在WPF中隐藏列? 这就是我所做的: <DataGridTextColumn Header="Column header" Binding="{Binding ColumnValue}" Width="100" ElementStyle="{StaticResource DataGridRightAlign}" Visibility="{Binding MyColumnVisibility}" /> 这就是我得到的(除了该列仍然可见): System.Windows.Data错误:2:找不到目标元素的管理FrameworkElement或FrameworkContentElement。BindingExpression:Path = MyColumnVisibility; DataItem = null; 目标元素是'DataGridTextColumn'(HashCode = 1460142); 目标属性为“可见性”(类型为“可见性”) 如何解决绑定问题?

4
如何基于默认样式创建样式?
如何在Silverlight中基于默认样式创建样式? 例如,在WPF中,我们将其设置为: <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}"> <Setter Property="Margin" Value="2" /> <Setter Property="Padding" Value="2" /> </Style>
75 .net  wpf  xaml  silverlight 

7
如何使ScrollViewer在StackPanel中工作?
在以下WPF XAML中,ScrollViewer不起作用(它显示滚动条,但是您无法滚动,并且内容从窗口移到底部)。 我可以将外部StackPanel更改为Grid,它将起作用。 但是,在从中复制以下代码的应用程序中,我需要一个外部StackPanel。我必须对StackPanel做些什么才能使ScrollViewer显示可用的滚动条?例如VerticalAlignment =“ Stretch” Height =“ Auto”不起作用。 <StackPanel> <ScrollViewer> <StackPanel> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is a test"/> <TextBlock Text="This is …

7
从XAML中的* .resx文件获取值
是否可以将资源文件中的某些值直接添加到XAML标记中?或为了进行本地化,我们总是必须在* .cs文件中进行如下操作: txtMessage.Text = Messages.WarningUserMessage; Messages资源txtMessage是哪里,文本块是哪里。
74 c#  xaml  localization  resx 

6
从后台代码调用命令
因此,我一直在搜索,无法确切地知道如何执行此操作。我正在使用MVVM创建用户控件,并希望在“已加载”事件上运行命令。我意识到这需要一些代码,但是我不太清楚需要什么。该命令位于ViewModel中,该视图被设置为视图的数据上下文,但是我不确定确切如何路由它,因此可以从已加载事件背后的代码中调用它。基本上我想要的是这样的东西... private void UserControl_Loaded(object sender, RoutedEventArgs e) { //Call command from viewmodel } 环顾四周,我似乎在任何地方都找不到此语法。我是否需要先在xaml中绑定该命令才能引用它?我注意到用户控件中的命令绑定选项将不允许您像在按钮之类的内容中那样绑定命令... <UserControl.CommandBindings> <CommandBinding Command="{Binding MyCommand}" /> <!-- Throws compile error --> </UserControl.CommandBindings> 我敢肯定有一个简单的方法可以做到这一点,但是我无法终生解决。
73 c#  wpf  xaml  data-binding  command 

5
可以在XAML(.NET 4之前的版本)中指定通用类型吗?
在XAML中,我可以声明一个DataTemplate以便在显示特定类型时使用该模板。例如,此DataTemplate将使用TextBlock显示客户名称: <DataTemplate DataType="{x:Type my:Customer}"> <TextBlock Text="{Binding Name}" /> </DataTemplate> 我想知道是否可以定义将在每次显示IList <Customer>时使用的DataTemplate。因此,例如,如果ContentControl的Content是ObservableCollection <Customer>,它将使用该模板。 是否可以使用{x:Type}标记扩展在XAML中声明类似IList的泛型类型?
73 c#  wpf  xaml  generics 

6
通过WPF中的代码隐藏访问资源
我在窗口资源中定义了一个自定义集合,如下所示(在Sketchflow应用中,因此窗口实际上是UserControl): <UserControl.Resources> <ds:MyCollection x:Key="myKey" x:Name="myName" /> </UserControl.Resources> 我希望能够在后面的代码中引用此集合,我希望它可以通过x:Name引用,但是我似乎无法访问它。 我可以使用它获得参考 myRef = (MyCollection) this.FindName("myKey"); 但这似乎有点骇人听闻。这是不好的做法吗?有什么更好的办法?谢谢 :)

1
如何在XAML中为边框设置MouseOver事件/触发器?
我希望当鼠标悬停在边框上时边框变为绿色,然后当鼠标不再位于边框上时边框变为蓝色。 我没有运气就尝试了这个: <Border Name="ClearButtonBorder" Grid.Column="1" CornerRadius="0,3,3,0" Background="Blue"> <Border.Triggers> <Trigger Property="Border.IsMouseOver" Value="True"> <Setter Property="Border.Background" Value="Green" /> </Trigger> <Trigger Property="Border.IsMouseOver" Value="False"> <Setter Property="Border.Background" Value="Blue" /> </Trigger> </Border.Triggers> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="X" /> </Border> 如何设置MouseOver的触发器或事件?
72 wpf  xaml  triggers 

1
将集合绑定到StackPanel
我想获取一个对象集合并将其绑定到StackPanel,因此基本上来说,如果该集合具有4个元素,应该在应该产生4个按钮的堆栈面板内部说。 我尝试过...但是无论如何我都不认为这是正确的方法。我过去曾使用DataTemplated做这种想法。.如果我错了,请纠正我。 这是我的假模特 public class MockModel { public ObservableCollection<MockNode> Nodes; public MockModel() { Nodes = new ObservableCollection<MockNode>(); } } public class MockNode { public MockNode() { } private string itemname; public string ItemName { get { return this.itemname; } set { this.itemname = value; } } } 在代码中,我像这样设置DataContext ... // …



4
使用EventTrigger设置属性
我希望能够使用EventTrigger设置属性,这有很多问题。 1)EventTriggers仅支持Actions,因此我必须使用StoryBoard设置属性。 2)使用情节提要板后,有两种选择: 停止:动画停止后,该值将恢复为动画开始前的值 HoldEnd:这会锁定属性,以便代码和用户交互都无法更改动画持有的属性。 在下面的示例中,我想在单击按钮时将IsChecked属性设置为False,并且希望用户能够更改IsChecked和/或希望在代码中更改该属性。 例: <EventTrigger SourceName="myButton" RoutedEvent="Button.Click"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <BooleanAnimationUsingKeyFrames Storyboard.TargetName="myCheckBox" Storyboard.TargetProperty="IsChecked" FillBehavior="Stop"> <DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="False" /> </BooleanAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> 我意识到,故事板完成后,可以使用“ Completed”事件将值设置为False。但是,在这种情况下,我想将逻辑包含在XAML中,因为该逻辑将在自定义控件上使用,并且仅特定于UI。

2
在WPF中的菜单中放置分隔线
在XAML中,如何在菜单中放置标准分隔线? 例如 <MenuItem Header="_File" Name="m_fileMenu"> <MenuItem Header="_Open" Command="ApplicationCommands.Open"/> <!-- Trying to put a divider here! --> <MenuItem Header="-" /> <!-- Wrong guess --> <MenuItem Header="E_xit" Command="ApplicationCommands.Close" /> </MenuItem>
71 wpf  xaml  menu 

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.