嗨,我想找到一些方法,当点击一个按钮更改其他控件的可见性,如在XAML中具有触发器的DataGrid.
该按钮仅将DataGrid的可见性更改为Visible,它在Code Behind中执行其他操作,但我认为这可以在带触发器的样式中完成.
我试图找到一个解决方案,似乎有可能做但我无法理解如何.
提前致谢.
伙计们,我看到下面的代码在我将其粘贴到记事本中时会出现运行时错误并保存为test.xaml并运行它.
<Page xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextBlock Text="Hi Ramakrishnan, good morning"/>
<Button x:Name=”blueButton”
Width=”100”
Height=”40”
Background=”Blue”
Content=”Click Me” />
</Page>
Run Code Online (Sandbox Code Playgroud)
但是下面的代码没有给出任何错误,但在浏览器中非常正确地显示了文本块内容.有什么想法吗 ?我还检查了包括一个文本框代替上面的按钮,仍然是同样的错误.
<Page xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextBlock Text="Hi Ramakrishnan, good morning"/>
</Page>
Run Code Online (Sandbox Code Playgroud) 如何将字符串值绑定Y到NisEnabled 值?
<TextBox IsEnabled="{Binding Path=StringValueFromSomeEntity, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
Run Code Online (Sandbox Code Playgroud)
StringValueFromSomeEntity 可以是一个Y或N值。
我正在 WPF/MVVM 中开发一个标准数据输入应用程序。我有一个名为 LabSetupView.xaml 的文件,其中有三个控件:
这些控件旨在协同工作 - 当用户选择技术人员时,仅显示该技术人员 ID 的测试。这是通过技术人员到测试的导航属性完成的。
我正在考虑将这些控件分别作为 a 移动到它们自己的 .xaml 文件中<UserControl>,然后将它们嵌套在 中,<Window>因为 LabSetupView.xaml 的 DataContext 只能设置一次。因此,我想如果我将控件组件化,我可以为每个控件创建 ViewModel(即 LabView.xaml/LabViewModel.xaml 等...),并且每个控件都继承自实现必要的INotifyPropertyChanged.
我的问题是:拥有一个本身没有数据上下文但包含单独的 UserControls 的底板 .xaml 文件是否是一种常见或正常的做法,每个 UserControls 都有自己的数据上下文?
我问这个问题是因为我担心如果我尝试这样的事情,那么数据绑定和 INotifyProperChanged 将无法一起工作,因为这些视图是组件化的。换句话说,我上面的用例(为技术人员获取测试)不会绑定或更新属性。
我曾为 Web 应用程序使用过编码 UI,但这是我第一次尝试将编码 UI 用于 WPF。我想从组合框中单击一个项目但是,我无法在 WPF 中实现相同的目标。我试图遍历组合框内的项目,但没有奏效。尝试使用搜索属性 - 没有结果。此外,试图找出 AutomationElement 的东西,但无法获得解决方案。如果我能了解实现要求所需遵循的方法,那就太好了。
我已经捕获了控件并想使用它们。没有录音和回放。
我通过创建自己的自定义控件模板在 WPF 中设计了自己的文本框。但是,我似乎无法让插入符号出现。
这是我的文本框样式:
<Style TargetType="{x:Type TextBox}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="AllowDrop" Value="True"/>
<Setter Property="TextBlock.Foreground" Value="DeepSkyBlue"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Border
Name="border"
CornerRadius="0"
Padding="2"
BorderThickness="1"
BorderBrush="DeepSkyBlue">
<ContentPresenter
HorizontalAlignment="Left"
VerticalAlignment="Top"
Content="{TemplateBinding Text}"
Name="content"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="MidnightBlue"/>
<Setter Property="BorderBrush" Value="DeepSkyBlue"/>
<Setter Property="Foreground" Value="DeepSkyBlue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能让我的插入符号出现呢?我希望它是 MidnightBlue,以便在 DeepSkyBlue 背景上可见。
如果我有一个模型,它几乎是一个只读集合并在网格上显示,用户在其中选择一行。
我是否需要始终在模型上实现 INotifyPropertyChanged?实施与不实施是否有性能优势?
我想知道性能是否会受到 UI 尝试使用类似的东西的影响
var x = Model as INotifyPropertyChanged;
否则它不会使用它。
我有这个 XAML:
<dxb:BarStaticItem>
<TextBlock Text="{Binding MyStatusBarText}"></TextBlock>
</dxb:BarStaticItem>
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
Cannot add content to an object of type BarStaticItem
我该如何解决这个问题,以便我可以执行诸如更改渲染项目的颜色和样式之类的操作?
我使用 Microsoft InteractiveDataDisplay.WPF(以前的 DynamicDataDisplay)来可视化实时数据(大约 2-3 秒)。此代码 xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
double[] y = new double[200];
double[] x = new double[200];
for (int i = 0; i < 200; i++)
{
y[i] = 3.1415 * i / (y.Length - 1);
x[i] = DateTime.Now.AddMinutes(-i).ToOADate();
}
linegraph.Plot(x, y);
}
}
Run Code Online (Sandbox Code Playgroud)
使用这个 xaml:
<d3:Chart Name="plotter">
<d3:Chart.Title>
<TextBlock HorizontalAlignment="Center" FontSize="18" Margin="0,5,0,5">chart sample</TextBlock>
</d3:Chart.Title>
<d3:LineGraph x:Name="linegraph" Description="Simple linegraph" Stroke="Blue" StrokeThickness="3">
</d3:LineGraph>
</d3:Chart>
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点?谢谢!
更新 1(使用 …
我想在数据库中搜索.当我搜索数据库时,我必须在表单中显示结果.我想显示为谷歌显示搜索结果.
链接
说明
链接
说明
我必须在WPF中做到这一点.我怎么解决这个问题?
我在XAML中设置了两个图像元素的来源.如何使它们指向同一个对象,这样如果其中一个图像的源更改,则第二个图像会自动更改.目前,通过设置XAML图像的源,它们都保持自己的本地副本.例如,我有两个图像元素
<Image x:Name="abc" /> and <Image x:name="def"/>
Run Code Online (Sandbox Code Playgroud)
我设置了abc.Source ="xyz"和def.Source ="xyz".现在两个(abc和def)都有自己的图像副本"xyz".如何让它们指向同一个图像对象.因此没有必要保留2份"xyz".
应用程序包含超过30个按钮但对齐不正确我的问题是:是否有任何属性安排固定长度和高度的所有30按钮?
wpf-controls ×13
wpf ×12
c# ×7
xaml ×3
styles ×2
.net ×1
binding ×1
data-binding ×1
datatemplate ×1
isenabled ×1
mvvm ×1
silverlight ×1
textbox ×1
wpf-4.0 ×1
wpfdatagrid ×1
wpftoolkit ×1