我正在努力让我的CheckBoxes适当地集中在我的内心GridViewColumn.
我已经Style为我的CheckBoxes 定义了一个:
<Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Margin" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type GridViewColumn}},Path=ActualWidth}" />
</Style>
Run Code Online (Sandbox Code Playgroud)
我的CheckBoxes被添加到GridViewColumn使用DataTemplate这样的:
<GridViewColumn Header="Comment">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding PropertyItem.Comment, Converter={StaticResource booleanConverter}, ConverterParameter='string'}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)
但我CheckBox遇到的问题是es保持左对齐(即使调整列的大小).
有任何想法吗?
先谢谢,
桑尼
编辑: 我一直CheckBox在一个空白窗口搞乱,我认为问题可能与CheckBox …
我有一点jQuery问题.我在页面上有多个表,它们都具有相同的类但没有ID.我希望能够从所有表中获得第一行.是否有捷径可寻?
这是我到目前为止所得到的:
$(.t13Standard tr:first')
Run Code Online (Sandbox Code Playgroud)
但是,它只选择第一个表中的第一行.从所有表中获取第一行的任何方法?
我最近"继承"了一个离开加入另一家公司的同事的网络项目.对我们来说不幸的是,他是唯一的Java开发人员,因此我在办公室附近没有任何人可以帮助我.
该项目是使用Wicket框架编写的,这不是我非常熟悉的(我已经完成了很多ASP.NET和一些PHP).我很难理解事情是如何运作的......
似乎表单的实例化包括表单要操作的对象,但这是我看到的唯一引用.从html表单到对象的所有值的更新似乎都是通过魔法发生的!
无论如何......我离题了......
我试过谷歌一些东西,但它总是在我的头上.我花了整整一天的时间才将一个控件放到一个页面上,而不会在加载时打破页面.明天可能需要我全部提交页面而不会中断.任何人都可以指向我的教程方向或非常入门级的东西吗?
我正在研究我的第一个WPF应用程序,我正在测试一个自定义控件,这个控件是一个圆圈,其中间有一个播放按钮.我似乎遇到了一些麻烦.当我绘制我的播放按钮时,我似乎无法在圆圈旁边调整大小.具体来说,当我将圆的大小调整为更宽或更高时,播放按钮多边形保持相同的大小并处于相同的绝对位置.有关设置我的XAML或代码以解决此问题的任何指针?
现有的XAML:
<Window x:Class="WPFTest.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" xmlns:my="clr-namespace:WPFTest">
<StackPanel>
<StackPanel.Resources>
<Style TargetType="my:GradientButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type my:GradientButton}">
<Grid>
<Ellipse Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Stroke="{TemplateBinding Foreground}" VerticalAlignment="Top" HorizontalAlignment="Left">
<Ellipse.Fill>
<LinearGradientBrush>
<GradientStop Color="{TemplateBinding GradientStart}" Offset="0"></GradientStop>
<GradientStop Color="{TemplateBinding GradientEnd}" Offset="1"></GradientStop>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Polygon Points="{TemplateBinding PlayPoints}" Fill="{TemplateBinding Foreground}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</StackPanel.Resources>
<my:GradientButton Content="Button" Height="50" x:Name="gradientButton1" Width="50" GradientStart="#FFCCCCCC" GradientEnd="#FFAAAAAA" PlayPoints="18,12 35,25 18,38" />
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
码:
public class GradientButton : Button
{
internal static DependencyProperty GradientStartProperty;
internal …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试编写扩展方法,但它似乎没有按预期运行.在我们深入研究之前,这里是我的代码:
public static void Remove<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
var items = source.Where(predicate);
source = source.Where(t => !items.Contains(t));
}
Run Code Online (Sandbox Code Playgroud)
我希望可以在任何IEnumerable上调用此扩展方法,然后从集合中删除与谓词匹配的所有项.我厌倦了遍历集合来查找匹配的项目,然后一次删除它们,以避免在枚举时改变集合......
无论如何......当我单步执行代码时,一切似乎都有效.在存在该方法之前,source具有正确数量的项目被移除.但是,当我返回到调用代码时,所有项目仍然存在于我的原始IEnumerable对象中.有小费吗?
先谢谢,
桑尼
我正在尝试获取给定页面上给定类型的所有控件的列表,但我遇到了问题.似乎VisualTreeHelper可能只返回已加载的控件?我尝试关闭虚拟化,但这似乎没有帮助.任何人都可以想到另一种方法来获得所有控制权或者强制加载UI以便以下方法有效吗?
我从MSDN借用了这个:
public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject
{
if (depObj != null)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
if (child != null && child is T)
{
yield return (T)child;
}
foreach (T childOfChild in FindVisualChildren<T>(child))
{
yield return childOfChild;
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我目前发现自己不仅要在工作中学习python,还要使用Windows机器进行编码以部署到Linux环境.
我希望做的是一项简单的任务.
根目录中有一个名为"www"的子目录(在我的Windows机器上,它是c:\ www),如果它不存在,我需要创建一个文件.
我可以使用以下代码在我的开发机器上工作:
file = open('c:\\www\\' + result + '.txt', 'w')其中'result'是我想要创建的文件名,它也可以在Linux环境中使用以下代码:file = open('www/' + result + '.txt', 'w').
如果有一种快速简便的方法来更改我的语法以在两种环境中工作?