2013-02-03 92 views
1

我是WPF的新手,并且正在尝试使用数据绑定,并且无法找到解决方案来解决我遇到的问题。我正在试图创建一个窗口,其中可以使用grid.column属性在屏幕的左侧和右侧之间动态切换矩形。这是我的代码到目前为止,我不知道该去哪里,如果有人可以建议一个体面的网站来阅读和解决我的问题,这也会很好。数据绑定Grid.Column来自自定义类

这里是我的C#代码:

namespace WPFTestingApplication 
{ 
    public static class GridProperties 
    { 
     public static int gridColumn = 1; 
    } 

    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

和我的XAML代码:

<Window x:Class="WPFTestingApplication.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="200" Width="400"> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Rectangle Name="Rect" Grid.Column="0" Fill="DarkGray" Margin="5" /> 
</Grid> 

我想grid.column被设置为在GridProperties类的GridColumn属性。

回答

1
<Window x:Class="WPFTestingApplication.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:WPFTestingApplication" 
    Title="MainWindow" Height="200" Width="400"> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Rectangle Grid.Column="{Binding Source={x:Static local:GridProperties.gridColumn}" 
       Name="Rect" Fill="DarkGray" Margin="5" /> 
</Grid> 
+0

当我试用该代码时,Visual Studio给我一个错误,提示“名称GridProperties不存在于命名空间WPFTestingApplication中”,我知道它不是拼写错误。 – Nick

+0

编辑我的答案。检查* xmlns:local *声明上的更改,看看它是否有帮助。 – Joao

+0

是否有任何理由,这种方法不应该工作,如果我想访问一个数组的元素,如gridColumn [0]? – Nick