我想在XamlPad中使用DataGrid.我如何引用WPFtoolkit DLL?
我已经尝试添加一个xml命名空间引用(下面),但没有运气.
的xmlns:工具箱= "CLR-名称空间:Microsoft.Windows.Controls;装配= WPFToolkit"
任何想法或帮助将不胜感激 - 谢谢!
在PHP Web编程中,我总是创建一个单独的Output对象,在其中我可以放置必须从任何代码行获得的全局信息.
所以在WPF应用程序,我创建了下面的类来实现同样的功能,如变量ReturnToPageIdCode返回到另一个页面应该处理一些任务后返回的页面,我可以设置和获取价值的任何地方我想要的.
这很好用.
但是,我不禁想到在有状态的 WPF环境中,我正在使用这个单例输出对象重新创建轮子.
您在哪里放置应用程序范围的值在WPF应用程序中?有一些标准的地方可以做到这一点吗?
public class Output
{
private Output output;
private static Output instance;
public string ReturnToPageIdCode { get; set; }
public static Output GetInstance()
{
if (instance == null)
{
instance = new Output();
}
return instance;
}
public string GetTestMessage()
{
return "This is a global test message from the output singleton.";
}
}
Run Code Online (Sandbox Code Playgroud) 我不确定提出这个问题的最佳方式(对于含糊不清的问题标题感到抱歉),但实际上我想使用从数据上下文传递属性的值转换器在TextBox上设置MaxLength属性,和传入属性的属性作为转换器参数.我希望以一种风格来做所有这些,而不是逐个控制.以下是以非样式方式执行此操作的示例:
<TextBox Text="{Binding MyPropertyName.TheirPropertyName}" MaxLength="{Binding MyPropertyName, Converter={StatocRespirceMyCoolConverter}, ConverterParameter=TheirPropertyName}" />
Run Code Online (Sandbox Code Playgroud)
(如果您想知道,ItsPropertyName表示MyPropertyName类型的属性,它具有[StringMaxLength(15)]等属性,我可以在值转换器中找到并返回.)此外,是否有传递MyPropertyName类型而不是实例的任何方式?我只需要类型来执行StringMaxLength属性查找.
无论如何,我怎么能在风格上做这样的事情呢?我已经达到了:
<Setter Property="MaxLength">
<Setter.Value>
<Binding Converter="{StaticResource textFieldMaxLengthConverter}" />
</Setter.Value>
</Setter>
Run Code Online (Sandbox Code Playgroud)
但是这会将整个datacontext传递给值转换器,而不是MyPropertyName对象,我真的不知道如果我可以解析MyPropertyName.TheirPropertyName部分绑定以在绑定的ConverterParameter属性上传递ItsPropertyName .
任何指导都会非常感激!
我想完成以下列表视图,它在同一列中使用不同的控件.
它有两列:名称和设置."名称"列中的第一行条目为"开/关","设置"为复选框.第二行的名称是"Elevation",其设置是文本框.
我希望能够以编程方式填充listview.
谢谢!
我有一个需要很长时间的过程,我想要一个窗口来显示进度.但是,我无法想象如何显示进度.
这是代码:
if (procced)
{
// the wpf windows :
myLectureFichierEnCour = new LectureFichierEnCour(_myTandemLTEclass);
myLectureFichierEnCour.Show();
bgw = new BackgroundWorker();
bgw.DoWork += startThreadProcessDataFromFileAndPutInDataSet;
bgw.RunWorkerCompleted += threadProcessDataFromFileAndPutInDataSetCompleted;
bgw.RunWorkerAsync();
}
Run Code Online (Sandbox Code Playgroud)
和:
private void startThreadProcessDataFromFileAndPutInDataSet(object sender, DoWorkEventArgs e)
{
_myTandemLTEclass.processDataFromFileAndPutInDataSet(
_strCompositeKey,_strHourToSecondConversion,_strDateField);
}
Run Code Online (Sandbox Code Playgroud)
我可以打电话_myTandemLTEclass.processProgress来获得进展的暗示.
在我的WPF应用程序(csharp)中,我有一个事件处理程序,当触发时将打开应用程序的新窗口(窗口B)并显示一些数据.但是,当再次触发事件时,如果新窗口(窗口B)仍然打开,我不想生成窗口B的另一个实例,而只是更新当前实例中显示的数据.所以问题是:如何检测窗口B是否已经存在且仅在尚未打开时才打开,否则只需更新数据?
我找到了Application.Current.Window集合,但不知怎的,这对我来说还不起作用.想法?
我有一个元素和多个样式,如何在运行时以编程方式或通过XAML绑定在样式之间切换.
<Rectangle x:Name="fixtureControl" Style="{DynamicResource FixtureStyle_Fast}">
<!-- In the style resources. -->
<Style x:Key="FixtureStyle_Fast" TargetType="{x:Type Shape}">
<Setter Property="Stroke" Value="Black"/>
<Setter Property="StrokeThickness" Value="20"/>
</Style>
<Style x:Key="FixtureStyle_Good" TargetType="{x:Type Shape}">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Opacity=".9"
Direction="-90"
RenderingBias="Performance"
BlurRadius="50"
ShadowDepth="10" />
</Setter.Value>
</Setter>
</Style>
<Style x:Key="FixtureStyle_Best" TargetType="{x:Type Shape}">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Opacity=".9"
Direction="-90"
RenderingBias="Quality"
BlurRadius="50"
ShadowDepth="10" />
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
然后我有一些处理器改变风格的单选按钮
private void RadioButton_Click(object sender, RoutedEventArgs e) {
if (e.Source == rdoQualityBest) {
fixtureControl.Style = FindResource("FixtureStyle_Best") as Style;
} else if (e.Source == rdoQualityGood) …Run Code Online (Sandbox Code Playgroud) 当我尝试使用具有多个组合框的相同列表时,将与所有组合框共享选择.
我希望组合框将数据源视为自己的,并且不应共享选择.
<ComboBox ItemsSource="{Binding ActiveLanguages}" DisplayMemberPath="Name" />
Run Code Online (Sandbox Code Playgroud)
ActiveLanguages是一个ObservableCollection,是应用程序的单个实例对象.
此组合框位于模板上,选择在模板的所有实例上重复.
如何更改所有控件(列表框,树视图,滚动条查看器,richtextbox等)所显示的滚动条的样式-ONCE-?
我在listview itemtemplate中有一个文本框.我想在长度大于75个字符时将文本框的背景颜色更改为红色,并且我需要在用户键入时更新背景颜色.在WPF中实现这一目标的最佳方法是什么?