我有一种情况,我需要用一个按钮创建视图框.对此的xaml如下:请观察viewbox的Width属性.宽度应根据滑动条增加/减少(向右移动增加它,向左移动减小它).如下所示我知道如何在xaml中执行它并且它工作正常.但我的要求是能够在后面的代码中创建视图框并为其分配属性.
<WrapPanel x:Name="_wrpImageButtons" Grid.IsSharedSizeScope="True"
ScrollViewer.CanContentScroll="True" d:LayoutOverrides="Height"
Margin="5">
<Viewbox x:Name="_ScaleButton"
Width="{Binding Value, ElementName=ZoomSlider}" Stretch="Fill">
<CustomButton:_uscVCARSImagesButton x:Name="_btnImage1"/>
</Viewbox>
</WrapPanel>
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在使用可编辑的组合框,其中可以在WPF组合框的文本框区域中输入文本.当输入的文本长度大于组合框的宽度时,光标仍显示在组合框外部和表单上,但不显示文本.反正是否限制光标不移出组合框?
谢谢.
TextBox 应该显示某些访问权限的隐藏金额。我创建了一个转换器类(从 IValueConverter 继承)来通过实现 convert 方法来处理屏蔽。
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
Run Code Online (Sandbox Code Playgroud)
如果需要屏蔽,则第三个参数为 true,否则为 false。
像这样调用:
CurrencyCOnverter converter = new CurrencyConverter();
this._textbox1.Text = converter.Convert(Amount, typeof(string), !this.IsSuperUser,
CurrentCulture).ToString();
Run Code Online (Sandbox Code Playgroud)
我在 UI 上有大约 12 个文本框。我没有在 12 个地方这样做,而是在 Resource 字典中定义了 DataTemplates,如下所示:
<DataTemplate x:Key="MaskNormalBackgroundTbx">
<TextBlock TextAlignment="Right" VerticalAlignment="Center"
TextWrapping="WrapWithOverflow"
Text="{Binding "Amount"
Converter={StaticResource CurrencyDisplayConverter},
ConverterParameter=true}" />
</DataTemplate>
<DataTemplate x:Key="NoMaskNormalBackgroundTbx">
<TextBlock TextAlignment="Right" VerticalAlignment="Center"
TextWrapping="WrapWithOverflow"
Text="{Binding "Amount"
Converter={StaticResource CurrencyDisplayConverter},
ConverterParameter=false}" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
我的问题:有没有一种方法可以通过创建自定义文本框来将此模板分配给文本框,就像我们为 ListBox 分配数据模板一样?
谢谢,
梅根。
对于我的WPF应用程序,我必须创建包含图像文件的文件夹,例如:C:\ Pearl\Src\TEMP.稍后当不需要这些文件时,我将以编程方式删除文件夹.但我得到"拒绝进入路径".我还尝试为创建的临时文件夹分配访问权限,但没有多大用处.
using System.IO;
var activeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var dInfo = Directory.GetParent(Path.GetDirectoryName(activeDir);
var dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule(@"ATSDEV\ABCD", FileSystemRights.DeleteSubdirectoriesAndFiles, AccessControlType.Allow));
dInfo.SetAccessControl(dSecurity); // Set the new access settings.
var ImageDir = Path.Combine(dInfo.ToString(), "TEMP");
System.IO.Directory.CreateDirectory(ImageDir, dSecurity);
Run Code Online (Sandbox Code Playgroud)