我有一个简单的按钮,我希望它具有“粘性”按钮的行为,例如它在视觉上具有两种状态(很像开关)。换句话说,即使我松开鼠标按钮,我也希望它保持按下的样式,但它必须是可点击的。
有没有办法在 WPF 中轻松做到这一点?我正在使用 Fluent,但如果需要,我可以更改它。
<Fluent:Button Header="myButton" Command="{Binding ToggleCommand}" SizeDefinition="Small">
<Fluent:Button.Icon>
<Grid Width="16" Height="16">
<Image Source="../Images/16x16/icon.png"/>
</Grid>
</Fluent:Button.Icon>
</Fluent:Button>
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
PS:
我正在使用 MVVM,并且在 中Command,我正在检查和更改bool标志以了解按钮当前处于什么状态。如果有任何帮助,我可以将其绑定到按钮属性。
在我的 Android 应用程序中,我需要一种方法来加密本地数据库中存储的数据。我选择 Realm DB 是因为它提供了与加密的无缝集成。我只需要在初始化 Realm 实例时传递一个密钥。该密钥的大小必须为 64 字节。
出于安全原因,我发现存储此密钥的最佳方法是在 AndroidKeyStore 中。我正在努力寻找一种方法来生成具有该大小的密钥(使用任何算法),并将其放入 64 字节数组中。我试图保留 API 19 的 minSdk,但我相信如果需要的话我可以将其提高到 23(这两个版本之间对 AndroidKeyStore 进行了许多更改)。
有人有想法吗?这是我的代码:
类加密.java
private static KeyStore ks = null;
private static String ALIAS = "com.oi.pap";
public static byte[] loadkey(Context context) {
byte[] content = new byte[64];
try {
if (ks == null) {
createNewKeys(context);
}
ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
content= ks.getCertificate(ALIAS).getEncoded(); //<----- HERE, I GET SIZE GREATER THAN 64
Log.e(TAG, "original key :" + Arrays.toString(content));
} catch (KeyStoreException | …Run Code Online (Sandbox Code Playgroud)