我正在使用自定义库,并且必须将SQL连接字符串绑定到SqlGeometryDataAdapter。如果使用以下方法,则除非声明将ConnectionString 设置为
,否则无法声明多个DataContext,因为代码无法编译。=“ {Binding}” />
而非NOT
=“ {Binding WKT}” />
XAML:
<dxm:VectorLayer x:Name="WKT_Layer" DataLoaded="WKT_Layer_DataLoaded">
<dxm:SqlGeometryDataAdapter x:Name="WKT_Adapter"
SqlText = "SELECT [WKT], [SID],[FILL],[STROKE] FROM [TLORIS] ORDER BY [SID]"
SpatialDataMember = "WKT"
ConnectionString="{Binding}"/>
</dxm:VectorLayer>
XAML.CS:
public MainWindow()
{
InitializeComponent();
DataContext = WKT;
}
public string WKT { get; } = "Data Source=127.0.0.1; Initial Catalog=TESTDB; Connection Timeout=2; Persist Security Info=True; User=SA; Password=PASSWORD";
我可以通过创建一个类并在其中声明一个字符串来解决此问题,但是必须有一种更简单的方法来实现此目的?
XAML:
<dxm:VectorLayer x:Name="WKT_Layer" DataLoaded="WKT_Layer_DataLoaded">
<dxm:SqlGeometryDataAdapter x:Name="WKT_Adapter"
SqlText = "SELECT [WKT], [SID],[FILL],[STROKE] FROM [TLORIS] ORDER BY [SID]"
SpatialDataMember = "WKT"
ConnectionString="{Binding WKT}"/>
</dxm:VectorLayer>
XAML.CS:
public MainWindow()
{
InitializeComponent();
DataContext = SQLConnection.GetSQLConnection();
}
class SQLConnection
{
public string WKT { get; set; }
public static SQLConnection GetSQLConnection()
{
return new SQLConnection() { WKT = "Data Source=127.0.0.1; Initial Catalog=TESTDB; Connection Timeout=2; Persist Security Info=True; User=SA; Password=PASSWORD;" };
}
}
答案 0 :(得分:0)
答案:
DataContext = WKT;没有意义。为了绑定到MainWindow的WKT属性,请设置DataContext = this;。 @Clemens