是否有可能更改DataGridRowGroupHeader控件的内容?

时间:2019-02-06 16:12:36

标签: c# uwp uwp-xaml windows-community-toolkit

我正在使用WindowsCommunityToolkit中的DataGrid控件,并且希望完全本地化此控件。

我发现可以更改分组类别名称(RowGroupHeaderPropertyNameAlternative属性)的选项,但是我找不到任何可以更改在同一视图中告诉分组类别中多少个项目(字符串“ x个项目”改为其他字词)的短语的选项

是否有一些控件模板或属性可在DataGridRowGroupHeader中获取自定义文本?

1 个答案:

答案 0 :(得分:1)

  

但是我找不到任何可改变的短语来表明在同一视图中分组类别中有多少项(字符串“ x items”改为其他词)。

WindowsCommunityToolkit是开源的。您实际上可以下载它并检查DataGrid源代码。您提到的有关“字符串x项”的内容在其C#代码中指定。您可以看到此line

        public class MainActivity extends AppCompatActivity implements View.OnTouchListener, View.OnDragListener , View.OnClickListener {

         @Override
          protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            final View dragView = findViewById(R.id.draggable_view);
            dragView.setOnTouchListener(this);
            dragView.setOnclickListener(this);

          }

     @Override
        public boolean onTouch(View v, MotionEvent event) {

            //if move detected it start Drag event and it's handler or click wil be handled by click listener
            if(event.getAction()  == MotionEvent.ACTION_MOVE){
                View.DragShadowBuilder mShadow = new View.DragShadowBuilder(v);

                    dragView = v;
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                        v.startDragAndDrop(null, mShadow, null, 0);
                    } else {
                        v.startDrag(null, mShadow, null, 0);
                    }
                 }
       return false;
    }

 @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.draggable_view:{
                showToast("click detected");
            }
            break;
           }
       }
}

字符串格式模板在资源文件中定义:

enter image description here

因此,如果您想自己进行本地化,则可以从这一点开始。并为您的项目编译自定义DataGrid版本。