小编ARi*_*101的帖子

带有静态文本和绑定的标签

我试图获取一个标签来显示特定文本,同时还绑定到VB.Net代码中的变量。我可以进行绑定,但是无法添加静态文本。

到目前为止,我有:

<Label x:Name="TestLabel" Content="{Binding Path=Row, StringFormat='Row #{0}'}" 
                          HorizontalAlignment="Left" 
                          Height="35" 
                          Margin="203,21,0,0" 
                          VerticalAlignment="Top" 
                          Width="83" 
                          FontSize="18">
Run Code Online (Sandbox Code Playgroud)

<Label x:Name="TestLabel" Content="{Binding Path=Row, StringFormat='Row #{0}'}" 
                          HorizontalAlignment="Left" 
                          Height="35" 
                          Margin="203,21,0,0" 
                          VerticalAlignment="Top" 
                          Width="83" 
                          FontSize="18">
Run Code Online (Sandbox Code Playgroud)

Public Class Row
    Implements INotifyPropertyChanged

    Private _Row As Byte
    Public Property Row() As Byte
        Get
            Return _Row
        End Get
        Set(ByVal value As Byte)
            _Row = value

            OnPropertyChanged(New PropertyChangedEventArgs("Row"))
        End Set
    End Property

    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

    Public Sub OnPropertyChanged(ByVal e As PropertyChangedEventArgs)
        If Not PropertyChangedEvent Is Nothing Then
            RaiseEvent …
Run Code Online (Sandbox Code Playgroud)

vb.net data-binding wpf xaml

2
推荐指数
1
解决办法
5382
查看次数

DataAdapter 填充异步异常

我编写了一组异步方法来快速处理大量数据库拉取和编译。在大多数情况下,这些工作都很棒,并且真的为我的软件创造了奇迹。然而,最近我遇到了一个关于这些方法的小问题:用户时不时地搞砸,软件在两者之间提取数据的时间框架变得巨大,数据适配器在获取信息之前超时。通常在同步方法中,您会使用 try/catch 来处理此类问题,但我已经尝试过无济于事。有没有办法异步处理异常以简单地作为同步方法抛出,这样我的所有 try/catch 都可以正常工作?

这是我使用的数据适配器异步方法的示例:

private async Task<DataTable> WWQuery2Run
(string A, string B, string C, string D)
{
  using ( var conn = new System.Data.SqlClient.SqlConnection(ReportResources.ConnString) )
  {
    var temp = new DataTable();
    var DA = new SqlDataAdapter(string.Format(ReportResources.Instance.CureInfoQueries["WWQuery2"], A, B, C, D), conn);
    await Task.Run(() => DA.Fill(temp));
    return temp;
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑

在尝试处理超时异常的所有麻烦之后,我意识到以这种方式工作并不是一个好习惯。我继续添加了一个方法来计算持续时间,然后再进入显示的异步方法并警告用户长度,并为他们提供中止编译的选项。有了这个,我将查询的超时时间增加到一个数量,如果用户希望继续,那么应该涵盖除最坏情况中的最坏情况之外的所有情况。我还在程序中项目的描述中添加了一个计算出的持续时间,以便他们知道在尝试查询和编译之前它已经进行了很长时间。

谢谢@Murad Garibzada的帮助。

c# asynchronous sqldataadapter

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

asynchronous ×1

c# ×1

data-binding ×1

sqldataadapter ×1

vb.net ×1

wpf ×1

xaml ×1